docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class AssetReference

    Reference to an addressable asset. This can be used in script to provide fields that can be easily set in the editor and loaded dynamically at runtime. To determine if the reference is set, use RuntimeKeyIsValid().

    Inheritance
    object
    AssetReference
    AssetReferenceT<TObject>
    Implements
    IKeyEvaluator
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: UnityEngine.AddressableAssets
    Assembly: Unity.Addressables.dll
    Syntax
    [Serializable]
    public class AssetReference : IKeyEvaluator

    Constructors

    Name Description
    AssetReference()

    Construct a new AssetReference object.

    AssetReference(string)

    Construct a new AssetReference object.

    Fields

    Name Description
    m_AssetGUID

    The GUID of an asset

    Properties

    Name Description
    Asset

    The loaded asset. This value is only set after the AsyncOperationHandle returned from LoadAssetAsync completes. It will not be set if only InstantiateAsync is called. It will be set to null if release is called.

    AssetGUID

    Stores the guid of the asset.

    CachedAsset

    Cached Editor Asset.

    DerivedClassType
    IsDone

    Get the loading status of the internal operation.

    OperationHandle

    The AsyncOperationHandle currently being used by the AssetReference. For example, if you call AssetReference.LoadAssetAsync, this property will return a handle to that operation.

    RuntimeKey

    The actual key used to request the asset at runtime. RuntimeKeyIsValid() can be used to determine if this reference was set.

    SubObjectGUID

    Stores the guid of the sub object (if available).

    SubObjectName

    Stores the name of the sub object. Some assets, such as models and sprite atlases, contain mutliple objects. These objects can be loaded by specifying their name and type.

    editorAsset

    Used by the editor to represent the main asset referenced.

    Methods

    Name Description
    ~AssetReference()
    InstantiateAsync(Transform, bool)

    InstantiateAsync the referenced asset as type TObject.

    InstantiateAsync(Vector3, Quaternion, Transform)

    InstantiateAsync the referenced asset as type TObject.

    IsValid()

    Returns the state of the internal operation. If the load has not been started or if it has been released, the operation will not be valid and this will return false. This can be used to determine if an AssetReference has started loading or not.

    LoadAssetAsync<TObject>()

    Load the referenced asset as type TObject.

    LoadSceneAsync(LoadSceneMode, bool, int)

    Loads the reference as a scene.

    ReleaseAsset()

    Release the internal operation handle.

    ReleaseInstance(GameObject)

    Release an instantiated object.

    RuntimeKeyIsValid()

    Checks if the current RuntimeKey is valid.

    SetEditorAsset(Object)

    Sets the main asset on the AssetReference. Only valid in the editor, this sets both the editorAsset attribute, and the internal asset GUID, which drives the RuntimeKey attribute. If the reference uses a sub object, then it will load the editor asset during edit mode and load the sub object during runtime. For example, if the AssetReference is set to a sprite within a sprite atlas, the editorAsset is the atlas (loaded during edit mode) and the sub object is the sprite (loaded during runtime). If called by AssetReferenceT, will set the editorAsset to the requested object if the object is of type T, and null otherwise.

    Object to reference
    SetEditorSubObject(Object)

    Sets the sub object for this asset reference.

    ToString()

    String representation of asset reference.

    UnLoadScene()

    Unloads the reference as a scene.

    ValidateAsset(string)

    Validates that the referenced asset allowable for this asset reference.

    ValidateAsset(Object)

    Validates that the referenced asset allowable for this asset reference.

    In This Article
    Back to top
    Copyright © 2025 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)