docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Property WebRequestOverride

    WebRequestOverride

    Delegate that can be used to override the web request options before being sent.

    Declaration
    public Action<UnityWebRequest> WebRequestOverride { get; set; }
    Property Value
    Type Description
    Action<UnityWebRequest>
    Remarks

    You can assign a function to the Addressables object's WebRequestOverride property to individually modify the UnityWebRequest which is used to download files.

    This can be used to add custom request headers or query strings.

    This affects all downloads through Addressables including catalog files and asset bundles.

    Assigning this value through the Addressables object will set the value on the ResourceManager.

    For example you could add an Authorization header to authenticate with Cloud Content Delivery's private buckets.

    using UnityEngine.Networking;
    using UnityEngine.AddressableAssets;
    using System.Text;
    
    internal class PrivateWebRequestOverride : MonoBehaviour
    {
        [SerializeField]
        private String bucketAccessToken;
    
        //Register to override WebRequests Addressables creates to download
        private void Start()
        {
            Addressables.WebRequestOverride = AddPrivateToken;
        }
    
        // Demonstrate adding an Authorization header to access a Cloud Content Delivery private bucket
        private void AddPrivateToken(UnityWebRequest request)
        {
            var encodedToken = Convert.ToBase64String(Encoding.UTF8.GetBytes($":{bucketAccessToken}"));
            request.SetRequestHeader("Authorization", $"Bearer: {encodedToken}");
        }
    }
    See Also
    Transforming resource URLs
    In This Article
    Back to top Copyright © 2023 Unity Technologies — Terms of use
    Generated by DocFX
    on Wednesday, September 27, 2023