Addressables

Addressables can help optimize memory usage and load time in your projects by downloading and unloading resources on demand. It builds on top of the concept of asset bundles to make it easier to manage downloadable content and their dependencies.

Important

Only C# Scripting is allowed to access the Addressables API, due to the complexity of its nature. Tracking and releasing assets when they're no longer used so that memory is effectively managed is critical to ensuring stability of the platform and your projects.

Overview

Marking an asset as "addressable" enables the ability to customize its addresses, which can be used to reference the asset from any C# script. An address can be the name of the asset, custom label, or even the asset GUID. Because of this, there are multiple ways to reference the same asset.

When an asset is requested, the Addressables system will automatically locate it and its dependencies, download the corresponding asset bundle(s), then return the main asset. Common examples of Addressable assets include prefabs, textures, audio clips, animations, materials, and any other type of asset that can occupy a lot of memory. MonoBehaviours are also supported when attached to prefabs, but the code (e.g. the C# script files) will not be stored in the Addressable asset bundles. Instead, they will be part of the space's C# assembly that's uploaded.

Table of ContentsPage Description
Quickstart GuideJump right into development with this easy-to-follow guide!
LimitationsDescribes which features are restricted
Best PracticesImportant guide on how to use Addressables properly
Build ProcessLearn about the nuances of the build process
Code SnippetsSample code snippets of Addressables usage

Dive Deeper

The documentation here will not cover everything that Addressables has to offer. Visit the official API scripting reference and documentation pages to learn how to utilize it to its full potential.