Addressable Asset Settings
You can access the main Addressable system option on the Addressable Asset Settings Inspector (menu: Window > Asset Management > Addressables > Settings).
The Addressables system stores the settings asset in the AddressableSettingsData folder (under your Project Assets folder). If this folder doesn't exist yet, you must initialize the Addressables system from the Groups window (menu: Window > Asset Management > Addressables > Groups).
The Addressable Asset Settings Inspector
The Inspector contains the following sections:
- Profile
- Diagnostics
- Catalog
- Content Update
- Downloads
- Build
- Build and Play Mode Scripts
- Asset Group Templates
- Initialization object list
You can click the Manage Groups button to open the Groups window.
Profile
Profile settings
Use the Profile in Use list to choose the active profile. The active profile determines the value of variables used by the Addressables build scripts.
Click the Manage Profiles button to open the Profiles window where you can create new profiles and change profile variables.
See Profiles for more information about profiles.
Diagnostics
Diagnostics settings
Property | Function |
---|---|
Send Profiler Events | Enables profiler events. You must enable this setting to use the Addressables Event Viewer window. |
Log Runtime Exceptions | Logs runtime exceptions for asset loading operations (in addition to recording the error to the AsyncOperationHandle.OperationException property). |
Tip
By default, Addressable Assets only logs warnings and errors. You can enable detailed logging by opening the Player settings window (menu: Edit > Project Settings... > Player), navigating to the Other Settings > Configuration section, and adding "ADDRESSABLES_LOG_ALL
" to the Scripting Define Symbols field.
Catalog
Catalog settings
Settings related to the Addressables Catalog, which maps the address of an asset to its physical location.
Property | Function |
---|---|
Player Version Override | Overrides the timestamp used to formulate the remote catalog name. If set, the remote catalog is named, Catalog_<Player Version Override>.json . If left blank, then the timestamp is used. Note that when you use a unique remote catalog name for every new build, you can host multiple versions of your content at the same base URL. If you use the same override string for every build, then all players will load the new catalog. Note also that player update builds always use the same remote catalog name as the build they are updating (see Content update builds). |
Compress Local Catalog | Builds the catalog in a compressed AssetBundle file. Reduces the storage size of the catalog, but increases the time to build and to load the catalog. |
Optimize Catalog Size | Reduces the size of the catalog by creating a lookup table for internal IDs. Can increase the time required to load the catalog. |
Content Update
Content update settings
Settings that control remote content builds and updates.
Property | Function |
---|---|
Disable Catalog Update on Startup | Disables the automatic check for an updated remote catalog when the Addressables system initializes at runtime. You can manually check for an updated catalog. |
Content State Build Path | Where to build the content state file produced by the default build script. |
Build Remote Catalog | Enable to build a remote catalog. |
Build & Load Paths | Where to build and load the remote catalog. Choose a Profile path pair from the list or select <custom> if you want to set the build and load paths separately.Only visible when you enable Build Remote Catalog. |
Build Path | Where to build the remote catalog. Typically, you should use the RemoteBuildPath Profile variable. Only shown if you set Build & Load Paths to <custom> . |
Load Path | The URL at which to access the remote catalog. Typically, you should use the RemoteLoadPath Profile variable. Only shown if you set Build & Load Paths to <custom> . |
Downloads
Download settings
Settings that affect catalog and AssetBundle download handling.
Property | Function |
---|---|
Custom certificate handler | The class to use for custom certificate handling. The list contains all classes in the project that extend UnityEngine.Networking.CertificateHandler. |
Max Concurrent Web Requests | The system queues any requests beyond this limit. |
Catalog Download Timeout | How many seconds to wait for a catalog file to download. |
Build
Build settings
Settings that affect all builds.
Property | Function |
---|---|
Build Addressables on Player Build | Whether Unity builds Addressables content as part of your Player build. • Build Addressables content on Player Build: Always build Addressables content when building the Player. • Do not Build Addressables content on Player Build: Never build Addressables content when building the Player. (If you modify Addressables content, you must rebuild it manually before building the Player.) • Use global Settings (stored in preferences): Use the value specified in the Unity Editor Preferences (under Addressables). The first two options override the global Preference for the current Project and affect all contributors who build the Project. Otherwise, the global, Preferences value applies to all Unity projects. See Building content for more information. |
Ignore Invalid/Unsupported Files in Build | If enabled, the Addressables build script excludes invalid or unsupported files rather than aborting the build. |
Unique Bundle IDs | Whether to produce a unique name for a bundle in every build. See Unique Bundle IDs for more information. |
Contiguous Bundles | Produces a more efficient bundle layout. If you have bundles produced by Addressables 1.12.1 or earlier, disable this option to minimize bundle changes. |
Non-Recursive Dependency Calculation | Enable this option to improve build times and reduce runtime memory overhead when assets have circular dependencies. Examples: • A prefab assigned to Bundle A references a material assigned to Bundle B. If this option is disabled, Unity needs to calculate the material's dependencies twice, once for each bundle. If this option is enabled, Unity only needs to calculate the material's dependencies once, for Bundle B. • Many scenes reference the same material. If this option is disabled, Unity opens each scene to calculate shader usage, which is a costly operation. If this option is enabled, Unity only loads the material and doesn't need to open any scenes for dependency calculation. This option is enabled by default when using Unity version 2021.2 or later. Disabling this option invalidates previously built bundles because the rebuilt bundles will have a different build layout. Therefore this option should remain enabled unless builds have been shipped. Some circular dependencies can fail to load when the option is enabled because the referenced asset is always assigned to the same bundle location, even when more content is added to the build. This issue often occurs for Monoscripts. Building the MonoScript bundle (see MonoScript Bundle Naming Prefix) can help resolve these load failures. |
Shader Bundle Naming Prefix | How to name the bundle produced for Unity shaders. |
MonoScript Bundle Naming Prefix | How to name the bundle containing all MonoScripts. The bundle ensures that Unity loads all Monoscripts before any MonoBehaviors can reference them. It also decreases the number of duplicated or complex Monoscript dependencies and so, reduces runtime memory overhead. |
Strip Unity Version From AssetBundles | Whether to remove the Unity version from the bundle header. |
Disable Visible Sub Asset Representations | Enable this option to improve build times if you do not use subobjects directly (Sprites, sub-meshes, etc). |
Build and Play Mode Scripts
Configured build and Play mode scripts
Configures the IDataBuilder scripts available in the project. If you create a custom Build or Play Mode script, you must add it to this list before you can use it.
The Addressables packages contains a few build scripts that handle the default build processes and provide different ways to access your data in Play mode. You can find these scripts in the AddressableAssetData/DataBuilders folder.
To add a custom script, click the + button and locate your script in the project. The custom script must extend BuildScriptBase or implement IDataBuilder.
Note
Build scripts and Play Mode scripts both implement IDataBuilder. The system distinguishes between them by the data type of the result they produce. A build script produces an AddressablesPlayerBuildResult, while a Play Mode script produces an AddressablesPlayModeBuildResult. In a custom script, implement the CanBuildData method.
Asset Group Templates
Configured group templates
Defines the list of templates that you can use to create new groups. When you create a new template, you must add it to this list before you can use it.
The Addressables package contains one template that includes the schemas used by the default build scripts. You can find the template in the AddressableAssetData/AssetGroupTemplates folder.
To add a custom template, click the + button and locate your custom template asset in your project.
See Group templates for information on creating custom templates.
Initialization object list
Configured InitializationObjects
Configures the initialization objects for the project. Initialization objects are ScriptableObject classes that implement the IObjectInitializationDataProvider interface. You can create these objects to pass data to the Addressables initialization process at runtime.
To add an initialization object, click the + button and locate your initialization object asset in the project.
See Customizing initialization for more information.