Addressables is a promise to load by need

Addressables lets a project locate assets by an address instead of a physical path. You organise addresses and groups in the editor, build content, then request a meaningful key from code.

Do not mark every asset addressable by default. Start with content that is not needed at launch or is likely to be swapped or updated.

Define four things before a build

An address should be stable and readable. A Group shares configuration such as build and load paths, update restrictions, and packing schemas. Assets in one Group are not automatically loaded together; the Bundle Mode decides the AssetBundle boundaries.

A Label can select assets across Groups at runtime or filter the Groups window. With Pack Together By Label, each Label combination can create another bundle boundary, so uncontrolled combinations can increase the bundle count.

  1. Define address rules such as ui/popup-settings or characters/player/default.
  2. Group assets that share build/load paths and update restrictions, then inspect the Bundle Mode.
  3. Create Labels only for runtime selection or filtering needs, and check their effect on bundle count.
  4. Agree whether content build output is source-controlled or treated as generated output.

A common lifecycle mistake

Loading by address without tracking release leaves reference counts alive and makes unload timing difficult to reason about. Releasing too early tells Addressables that a dependency is no longer in use. Pair a LoadAssetAsync handle with Release, and an InstantiateAsync instance with ReleaseInstance.

Validate one local group—build, load, release—before adding remote delivery to the mix.

Verification scope

Official documentation review

Verified

Reviewed against the Unity 6 and Addressables 4.0.2 documentation. This guide was not independently reproduced in a Unity project.