docs.unity.cn
    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 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 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
    Back to top Copyright © 2023 Unity Technologies — Terms of use
    Generated by DocFX
    on Monday, June 26, 2023