docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Namespace UnityEngine.AddressableAssets.ResourceProviders

    Classes

    AddressableRootAsset

    A ScriptableObject that serves as the single global root asset for all Content Directory groups. Stores LoadableObjectIds for assets and LoadableSceneIds for scenes with O(1) lookup by int index.

    BinaryCatalogProvider

    Content catalog provider for binary-format catalogs.

    ContentCatalogProvider

    Abstract base provider for content catalogs. This provider makes use of a hash file to determine if a newer version of the catalog needs to be downloaded. Subclasses supply format-specific hooks for JSON and Binary catalogs.

    JsonCatalogProvider

    Content catalog provider for JSON-format catalogs.

    NativeContentAssetEntryProvider

    Loads objects from a Content Directory by issuing batched requests through the L0 NativeLoadingSystem API. Requests accumulate into a fixed-size staging buffer and are submitted in one LoadAsync call per frame (or sooner if the buffer fills).

    NativeContentAssetListProvider

    Specialized provider for bare-key IList<T> requests on multi-sub-asset entries (e.g. a Texture2D with multiple Sprites). Inherits all list-loading logic from NativeContentAssetEntryProvider but restricts CanProvide(Type, IResourceLocation) to generic IList<> requests.

    This distinct provider type is necessary to avoid a conflict with DynamicResourceLocator: when a bare-key Sprite-typed location exists, DynamicResourceLocator intercepts sub-key single-sprite loads and synthesises a child location carrying the parent's ContentDirectoryAssetData (including SubAssetIds). By giving the list location a different ProviderId, CanProvide(Sprite, …) returns false for the child location, the ResourceManager provider lookup returns null, and the outer locator loop falls through to the catalog's direct sub-key entry — ensuring the correct per-sprite AssetId is used.

    A CanProvide override on NativeContentAssetEntryProvider itself would be unsafe: ResourceManager.GetResourceProvider caches results by (ProviderId, requestedType) only, so a location-sensitive override would be memoized incorrectly across calls sharing the same provider id.

    Enums

    ContentCatalogProvider.DependencyHashIndex

    Options for specifying which entry in the catalog dependencies should hold each hash item. The Remote should point to the hash on the server. The Cache should point to the local cache copy of the remote data.

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