agentsclimarketplace

Unity addressables

Skill Codeturion/skills/skills/unity-addressables

Use when a Unity project needs the Addressables system. Install and set up the package, move assets off Resources or direct references, organize assets into groups and labels, load and release assets at runtime, build Addressables content headless or in CI, host content on a CDN or static server, or ship content updates without a new app release. Also use for Addressables errors like InvalidKeyException, assets that stay in memory, or content that works in the editor but fails in a build.From its SKILL.md

Install
npx -y skills add Codeturion/skills --skill unity-addressables

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.6 KB, as published. Nobody here has run it

Unity Addressables

Addressables is Unity's system for packing assets into bundles, loading them by address at runtime, and updating content after release. This skill covers setup, daily use, builds, and remote content. Everything runs headless. No menu paths.

Requirements

  • Unity 6 (verified on 6000.3) and Addressables 2.x or 3.x (verified on 2.9.0 and 3.1.0).
  • The Unity CLI with a running headless editor, so unity command eval works. If the project is not set up for that yet, use the unity-headless-cli skill first.
  • To add the package headless, use the unity-package-management skill, or follow the latest-version lookup in references/setup.md.

Step 1: Ask before touching anything

The answers decide which reference files apply. Ask all five, then follow the route table.

  1. New setup or migration? Is Addressables already installed, or does the project load assets with Resources, direct references, or AssetBundles today?
  2. Does content need to update after release? If all content can ship inside the build, the remote path is not needed.
  3. If remote: what host? Any static file host works (S3, R2, GCS, a plain web server). None yet is fine: start with a local test server.
  4. Which content changes often? Content that changes often goes in remote groups. Stable content stays local.
  5. Which platforms? Content builds are per platform. Each platform gets its own ServerData folder.
AnswerRead
Not installed yetreferences/setup.md
Assets not in groups, or migrating off Resourcesreferences/groups-and-labels.md
Writing or fixing loading codereferences/runtime-loading.md
Build, CI, or "works in editor, fails in build"references/build-and-ci.md
Content updates after release, CDN, remote catalogreferences/remote-content.md

Step 2: Scan before you touch

Never assume the project's Addressables layout. Get ground truth first.

  • Cheap scan, no editor. The group files under Assets/AddressableAssetsData/AssetGroups/*.asset are plain YAML. Grep them for entries, addresses, and labels:

    grep -rn "m_Address" Assets/AddressableAssetsData/AssetGroups/
    
  • Full scan, via the editor. Query AddressableAssetSettings with unity command eval for groups, local or remote schemas, and duplicate addresses. Ready snippets are in references/groups-and-labels.md.

  • If docs/addressables.md exists in the project, read it for the intended layout, then confirm with a scan. Update it after changes.

Eval gotcha: code passed to unity command eval compiles as a method body. using directives are not allowed there. Fully qualify every name (UnityEditor.AddressableAssets.AddressableAssetSettingsDefaultObject.Settings).

Step 3: Core rules (always apply)

  • Every load has a matching Addressables.Release. Keep the handle, release the handle. Handle leaks are the most common Addressables bug.
  • Load through one small service class, not scattered calls. Cache loaded assets there and release on teardown. A verified sample service is in references/runtime-loading.md.
  • Prefer AssetReference fields over string addresses. The inspector keeps them valid when assets move. Strings break silently.
  • Group by update behavior, not by asset type. Things that change together ship together.
  • Never mix Addressables and Resources for the same asset. One asset, one loading path.
  • The build does not protect you from everything. A deleted asset's entry is silently pruned, and duplicate addresses build fine but break at runtime. Run the duplicate check from the scan snippets after big changes.

Step 4: Verify the result

  • Switch the play mode script to "Use Existing Build", build content, then run a PlayMode test that loads by address. Exact commands are in references/build-and-ci.md.
  • The "Use Asset Database" play mode hides build mistakes. Never call a bundle verified from it.
  • For remote content, serve ServerData/<platform> from a local static server and confirm the catalog and one bundle download. Walkthrough in references/remote-content.md.

Troubleshooting map

SymptomUsual causeFix in
InvalidKeyExceptionAddress or label typo, or content not builtgroups-and-labels.md
Memory grows every scene changeHandles never releasedruntime-loading.md
Works in editor, fails in buildAsset Database play mode masked a missing entrybuild-and-ci.md
Load hangs or fails only on deviceRemote host unreachable, or wrong load pathremote-content.md
Remote clients get stale contentCatalog cached by the CDNremote-content.md
Update shipped, nothing changedCatalog uploaded before bundles, or content state file lostremote-content.md
Wrong asset returned for an addressDuplicate address in two groupsgroups-and-labels.md

Keep looking

Skills are one crate of 628,971. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.