Class Addressables
Entry point for Addressable API, this provides a simpler interface than using ResourceManager directly as it assumes string address type.
Inheritance
Inherited Members
Namespace: UnityEngine.AddressableAssets
Syntax
public static class Addressables
Fields
kAddressablesRuntimeDataPath
The name of the PlayerPrefs value used to set the path to load the addressables runtime data file.
Declaration
public const string kAddressablesRuntimeDataPath = "AddressablesRuntimeDataPath"
Field Value
| Type | Description |
|---|---|
| System.String |
Properties
BuildPath
The path used by the Addressables system for its initialization data.
Declaration
public static string BuildPath { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
InitializationOperation
Initialization operation. You can register a callback with this if you need to run code after Addressables is ready. Any requests made before this operaton completes will automatically cahin to its result.
Declaration
public static IAsyncOperation<IResourceLocator> InitializationOperation { get; }
Property Value
| Type | Description |
|---|---|
| IAsyncOperation<IResourceLocator> |
ResourceLocators
Gets the list of configured IResourceLocator objects. Resource Locators are used to find
Declaration
public static IList<IResourceLocator> ResourceLocators { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IList<IResourceLocator> | The resource locators list. |
RuntimePath
The path used by the Addressables system to load initialization data.
Declaration
public static string RuntimePath { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
Methods
Initialize()
Initialize Addressables system. This method will automatically be called at startup unless ADDRESSABLES_DISABLE_AUTO_INITIALIZATION is defined as a script conditional in the player settings. If ADDRESSABLES_DISABLE_AUTO_INITIALIZATION is set and a request is made, this method will also be called then. It is safe to call this method mutliple times as it will only initialize once.
Declaration
public static IAsyncOperation<IResourceLocator> Initialize()
Returns
| Type | Description |
|---|---|
| IAsyncOperation<IResourceLocator> | IAsync operation for initialization. The result of the operation is the IResourceLocator that was loaded. |
Instantiate<TObject>(IResourceLocation, InstantiationParameters)
Instantiate object.
Declaration
public static IAsyncOperation<TObject> Instantiate<TObject>(IResourceLocation location, InstantiationParameters instantiateParameters)where TObject : Object
Parameters
| Type | Name | Description |
|---|---|---|
| IResourceLocation | location | The location of the Object to instantiate. |
| InstantiationParameters | instantiateParameters | Parameters for instantiation. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<TObject> |
Type Parameters
| Name | Description |
|---|---|
| TObject |
Instantiate<TObject>(IResourceLocation, Transform, Boolean)
Instantiate single object.
Declaration
public static IAsyncOperation<TObject> Instantiate<TObject>(IResourceLocation location, Transform parent = null, bool instantiateInWorldSpace = false)where TObject : Object
Parameters
| Type | Name | Description |
|---|---|---|
| IResourceLocation | location | The location of the Object to instantiate. |
| Transform | parent | Parent transform for instantiated object. |
| System.Boolean | instantiateInWorldSpace | Option to retain world space when instantiated with a parent. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<TObject> |
Type Parameters
| Name | Description |
|---|---|
| TObject |
Instantiate<TObject>(IResourceLocation, Vector3, Quaternion, Transform)
Instantiate single object.
Declaration
public static IAsyncOperation<TObject> Instantiate<TObject>(IResourceLocation location, Vector3 position, Quaternion rotation, Transform parent = null)where TObject : Object
Parameters
| Type | Name | Description |
|---|---|---|
| IResourceLocation | location | The location of the Object to instantiate. |
| Vector3 | position | The position of the instantiated object. |
| Quaternion | rotation | The rotation of the instantiated object. |
| Transform | parent | Parent transform for instantiated object. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<TObject> |
Type Parameters
| Name | Description |
|---|---|
| TObject |
Instantiate<TObject>(Object, InstantiationParameters)
Instantiate single object.
Declaration
public static IAsyncOperation<TObject> Instantiate<TObject>(object key, InstantiationParameters instantiateParameters)where TObject : Object
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | key | The key of the location of the Object to instantiate. |
| InstantiationParameters | instantiateParameters | Parameters for instantiation. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<TObject> |
Type Parameters
| Name | Description |
|---|---|
| TObject |
Instantiate<TObject>(Object, Transform, Boolean)
Instantiate single object.
Declaration
public static IAsyncOperation<TObject> Instantiate<TObject>(object key, Transform parent = null, bool instantiateInWorldSpace = false)where TObject : Object
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | key | The key of the location of the Object to instantiate. |
| Transform | parent | Parent transform for instantiated object. |
| System.Boolean | instantiateInWorldSpace | Option to retain world space when instantiated with a parent. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<TObject> |
Type Parameters
| Name | Description |
|---|---|
| TObject |
Instantiate<TObject>(Object, Vector3, Quaternion, Transform)
Instantiate single object.
Declaration
public static IAsyncOperation<TObject> Instantiate<TObject>(object key, Vector3 position, Quaternion rotation, Transform parent = null)where TObject : Object
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | key | The key of the location of the Object to instantiate. |
| Vector3 | position | The position of the instantiated object. |
| Quaternion | rotation | The rotation of the instantiated object. |
| Transform | parent | Parent transform for instantiated object. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<TObject> |
Type Parameters
| Name | Description |
|---|---|
| TObject |
InstantiateAll<TObject>(IList<IResourceLocation>, Action<IAsyncOperation<TObject>>, InstantiationParameters)
Instantiate multiple objects.
Declaration
public static IAsyncOperation<IList<TObject>> InstantiateAll<TObject>(IList<IResourceLocation> locations, Action<IAsyncOperation<TObject>> callback, InstantiationParameters instantiateParameters)where TObject : Object
Parameters
| Type | Name | Description |
|---|---|---|
| System.Collections.Generic.IList<IResourceLocation> | locations | The locations of the objects to instantiate. |
| Action<IAsyncOperation<TObject>> | callback | This callback will be invoked once for each object that is instantiated. |
| InstantiationParameters | instantiateParameters | Parameters for instantiation. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<System.Collections.Generic.IList<TObject>> |
Type Parameters
| Name | Description |
|---|---|
| TObject |
InstantiateAll<TObject>(Object, Action<IAsyncOperation<TObject>>, InstantiationParameters)
Instantiate multiple objects.
Declaration
public static IAsyncOperation<IList<TObject>> InstantiateAll<TObject>(object key, Action<IAsyncOperation<TObject>> callback, InstantiationParameters instantiateParameters)where TObject : Object
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | key | The key of the location of the objects to instantiate. |
| Action<IAsyncOperation<TObject>> | callback | This callback will be invoked once for each object that is instantiated. |
| InstantiationParameters | instantiateParameters | Parameters for instantiation. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<System.Collections.Generic.IList<TObject>> |
Type Parameters
| Name | Description |
|---|---|
| TObject |
InstantiateAll<TObject>(Object, Action<IAsyncOperation<TObject>>, Transform, Boolean)
Instantiate multiple objects.
Declaration
public static IAsyncOperation<IList<TObject>> InstantiateAll<TObject>(object key, Action<IAsyncOperation<TObject>> callback, Transform parent = null, bool instantiateInWorldSpace = false)where TObject : Object
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | key | The key of the locations of the objects to instantiate. |
| Action<IAsyncOperation<TObject>> | callback | |
| Transform | parent | Parent transform for instantiated objects. |
| System.Boolean | instantiateInWorldSpace | Option to retain world space when instantiated with a parent. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<System.Collections.Generic.IList<TObject>> |
Type Parameters
| Name | Description |
|---|---|
| TObject |
LoadAsset<TObject>(IResourceLocation)
Load a single asset
Declaration
public static IAsyncOperation<TObject> LoadAsset<TObject>(IResourceLocation location)where TObject : class
Parameters
| Type | Name | Description |
|---|---|---|
| IResourceLocation | location | The location of the asset. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<TObject> |
Type Parameters
| Name | Description |
|---|---|
| TObject |
LoadAsset<TObject>(Object)
Load a single asset
Declaration
public static IAsyncOperation<TObject> LoadAsset<TObject>(object key)where TObject : class
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | key | The key of the location of the asset. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<TObject> |
Type Parameters
| Name | Description |
|---|---|
| TObject |
LoadAssets<TObject>(IList<IResourceLocation>, Action<IAsyncOperation<TObject>>)
Load multiple assets
Declaration
public static IAsyncOperation<IList<TObject>> LoadAssets<TObject>(IList<IResourceLocation> locations, Action<IAsyncOperation<TObject>> callback)where TObject : class
Parameters
| Type | Name | Description |
|---|---|---|
| System.Collections.Generic.IList<IResourceLocation> | locations | The locations of the assets. |
| Action<IAsyncOperation<TObject>> | callback |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<System.Collections.Generic.IList<TObject>> |
Type Parameters
| Name | Description |
|---|---|
| TObject |
LoadAssets<TObject>(IList<Object>, Action<IAsyncOperation<TObject>>, Addressables.MergeMode)
Load mutliple assets
Declaration
public static IAsyncOperation<IList<TObject>> LoadAssets<TObject>(IList<object> keys, Action<IAsyncOperation<TObject>> callback, Addressables.MergeMode mode = Addressables.MergeMode.None)where TObject : class
Parameters
| Type | Name | Description |
|---|---|---|
| System.Collections.Generic.IList<System.Object> | keys | List of keys for the locations. |
| Action<IAsyncOperation<TObject>> | callback | Callback Action that is called per load operation. |
| Addressables.MergeMode | mode | Merge method of locations. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<System.Collections.Generic.IList<TObject>> |
Type Parameters
| Name | Description |
|---|---|
| TObject |
LoadAssets<TObject>(Object, Action<IAsyncOperation<TObject>>)
Load mutliple assets
Declaration
public static IAsyncOperation<IList<TObject>> LoadAssets<TObject>(object key, Action<IAsyncOperation<TObject>> callback)where TObject : class
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | key | Key for the locations. |
| Action<IAsyncOperation<TObject>> | callback | Callback Action that is called per load operation. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<System.Collections.Generic.IList<TObject>> |
Type Parameters
| Name | Description |
|---|---|
| TObject |
LoadCatalogsFromRuntimeData(String)
Additively load catalogs from runtime data. The settings are not used.
Declaration
public static IAsyncOperation<IResourceLocator> LoadCatalogsFromRuntimeData(string runtimeDataPath)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | runtimeDataPath | The path to the runtime data. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<IResourceLocator> | IAsync operation for initialization. |
LoadScene(IResourceLocation, LoadSceneMode)
Load scene.
Declaration
public static IAsyncOperation<Scene> LoadScene(IResourceLocation location, LoadSceneMode loadMode = null)
Parameters
| Type | Name | Description |
|---|---|---|
| IResourceLocation | location | The location of the scene to load. |
| LoadSceneMode | loadMode | Scene load mode. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<Scene> |
LoadScene(Object, LoadSceneMode)
Load scene.
Declaration
public static IAsyncOperation<Scene> LoadScene(object key, LoadSceneMode loadMode = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | key | The key of the location of the scene to load. |
| LoadSceneMode | loadMode | Scene load mode. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<Scene> |
Log(String)
Debug.Log wrapper method that is contional on the LOG_ADDRESSABLES symbol definition. This can be set in the Player preferences in the 'Scripting Define Symbols'.
Declaration
[Conditional("ADDRESSABLES_LOG_ALL")]
public static void Log(string msg)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | msg | The msg to log |
LogError(String)
Debug.LogError wrapper method.
Declaration
public static void LogError(string msg)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | msg | The msg to log |
LogErrorFormat(String, Object[])
Debug.LogErrorFormat wrapper method.
Declaration
public static void LogErrorFormat(string format, params object[] args)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | format | The string with format tags. |
| System.Object[] | args | The args used to fill in the format tags. |
LogFormat(String, Object[])
Debug.LogFormat wrapper method that is contional on the LOG_ADDRESSABLES symbol definition. This can be set in the Player preferences in the 'Scripting Define Symbols'.
Declaration
[Conditional("ADDRESSABLES_LOG_ALL")]
public static void LogFormat(string format, params object[] args)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | format | The string with format tags. |
| System.Object[] | args | The args used to fill in the format tags. |
LogWarning(String)
Debug.LogWarning wrapper method.
Declaration
public static void LogWarning(string msg)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | msg | The msg to log |
LogWarningFormat(String, Object[])
Debug.LogWarningFormat wrapper method.
Declaration
public static void LogWarningFormat(string format, params object[] args)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | format | The string with format tags. |
| System.Object[] | args | The args used to fill in the format tags. |
PreloadDependencies(IList<Object>, Action<IAsyncOperation<Object>>, Addressables.MergeMode)
Asynchronously loads only the dependencies for the specified list of keys.
Declaration
public static IAsyncOperation<IList<object>> PreloadDependencies(IList<object> keys, Action<IAsyncOperation<object>> callback, Addressables.MergeMode mode = Addressables.MergeMode.None)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Collections.Generic.IList<System.Object> | keys | List of keys for which to load dependencies. |
| Action<IAsyncOperation<System.Object>> | callback | This callback will be invoked once for each object that is loaded. |
| Addressables.MergeMode | mode |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<System.Collections.Generic.IList<System.Object>> | An async operation that will complete when all individual async load operations are complete. |
PreloadDependencies(Object, Action<IAsyncOperation<Object>>)
Asynchronously loads only the dependencies for the specified key.
Declaration
public static IAsyncOperation<IList<object>> PreloadDependencies(object key, Action<IAsyncOperation<object>> callback)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | key | key for which to load dependencies. |
| Action<IAsyncOperation<System.Object>> | callback | This callback will be invoked once for each object that is loaded. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<System.Collections.Generic.IList<System.Object>> | An async operation that will complete when all individual async load operations are complete. |
RecordInstanceSceneChange(GameObject, Scene, Scene)
Notify the ResourceManager that a tracked instance has changed scenes so that it can be released properly when the scene is unloaded.
Declaration
public static void RecordInstanceSceneChange(GameObject gameObject, Scene previousScene, Scene currentScene)
Parameters
| Type | Name | Description |
|---|---|---|
| GameObject | gameObject | The gameobject that is being moved to a new scene. |
| Scene | previousScene | Previous scene for gameobject. |
| Scene | currentScene | Current scene for gameobject. |
ReleaseAsset<TObject>(TObject)
Release asset.
Declaration
public static void ReleaseAsset<TObject>(TObject asset)where TObject : class
Parameters
| Type | Name | Description |
|---|---|---|
| TObject | asset | The asset to release. |
Type Parameters
| Name | Description |
|---|---|
| TObject |
ReleaseInstance(Object, Single)
Release instantiated object.
Declaration
public static void ReleaseInstance(Object instance, float delay = 0F)
Parameters
| Type | Name | Description |
|---|---|---|
| Object | instance | The instantiated object to release. |
| System.Single | delay | The time delay in seconds to wait until releasing the instantiated object. If this value is less than 0, it will release immediately. |
UnloadScene(Scene)
Unload scene.
Declaration
public static IAsyncOperation<Scene> UnloadScene(Scene scene)
Parameters
| Type | Name | Description |
|---|---|---|
| Scene | scene | The scene to unload. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<Scene> |