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 © 2024 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)