2025-05-01 01:48:08 -07:00

4.5 KiB

uid
uid
addressables-api-initialize-async

Addressables initialization

The Addressables system initializes itself at runtime the first time you load an Addressable or make another call to an Addressable API. Call Addressables.InitializeAsync to initialize Addressables earlier. This method does nothing if initialization has already happened.

Initialization tasks

The initialization operation performs the following tasks:

  • Sets up the ResourceManager and the ResourceLocators.
  • Loads configuration data that Addressables creates from StreamingAssets.
  • Executes any initialization object operations.
  • Loads the content catalog. By default, Addressables first checks for updates to the content catalog and downloads a new catalog if available.

The following Addressables settings can change initialization behavior:

Set the following runtime properties before the initialization operation starts:

Initialization objects

You can attach objects to the Addressable Assets settings and pass them to the initialization process at runtime. For example, you can create a CacheInitializationSettings object to initialize Unity's Cache settings at runtime.

To create your own types of initialization object, create a ScriptableObject that implements the IObjectInitializationDataProvider interface. Use this object to create the ObjectInitializationData asset that Addressables includes with your the runtime data.

Cache initialization objects

Use a CacheInitializationSettings object to initialize Unity's Cache settings at runtime.

To specify the cache initialization settings that the Addressables system uses:

  1. Create a CacheInitializationSettings asset (menu: Assets > Addressables > Initialization > Cache Initialization Settings).

  2. Select the new asset file in the Project panel to view the settings in the Inspector

  3. Adjust the settings as desired.

  4. Open the Addressables Settings Inspector (menu: Window > Asset Management > Addressables > Settings).

  5. In the Initialization Objects section of the Inspector, click the + button to add a new object to the list.

  6. Select the CacheInitializationSettings asset in the File dialog and click Open.

  7. The cache settings object is added to the list.

When Addressables initializes at runtime, it applies these settings to the default Unity Cache. The settings apply to all AssetBundles in the default cache, not just those downloaded by the Addressables system. Refer to Caching for more information about the Unity cache system.

Tip

Android applications built with Unity 2020.1 or earlier, or running on Android 9 or earlier can only play videos from uncompressed AssetBundles. To disable recompression of the cache, use a CacheInitializationSettings object by disabling the Compress Bundles option.