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}");
}
}