unity-addressables-design

Provides source-anchored design rules for Unity Addressables across versions 1.22.3 and 2.9.1.

2|Updated May 18, 2026
One-click install
npx skills add https://github.com/pcone-mm/NewFPG --skill unity-addressables-design-pcone-mm
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: unity-addressables-design
Source: https://github.com/pcone-mm/NewFPG/tree/main/.agents/skills/unity-skills/skills/addressables-design
Command: npx skills add https://github.com/pcone-mm/NewFPG --skill unity-addressables-design-pcone-mm

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writing Unity Addressables code from memory often produces hallucinated APIs, because training data mixes version 1.x and 2.x surfaces, causing compile errors, memory leaks, and broken hot-update flows. This Skill grounds every rule in cited source lines from Addressables 1.22.3 (Unity 2022) and 2.9.1 (Unity 6). ## Core Features & Use Cases - Version-Accurate API Rules: Covers initialization, AsyncOperationHandle lifecycle, asset/scene loading, catalog updates, downloads, and AssetReference, with each rule tagged by version and anchored to a source file and line. - Pitfall Catalog: 30 verified hallucination pitfalls with symptoms, source citations, and fixes, plus a legacy-to-2.9.1 migration table for removed APIs like LoadAsset, Instantiate, and IList<object> overloads. - Use Case: When migrating a Unity 2022 project to Unity 6, load this Skill to catch removed non-Async methods, the new SceneReleaseMode parameter, and IEnumerable overload changes before they become compile errors. ## Quick Start Ask the AI to review your Addressables loading code or write a catalog update flow using the addressables design rules for your target Unity version.

Frequently Asked Questions about unity-addressables-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I load assets asynchronously with Unity Addressables?

Use Addressables.LoadAssetAsync<T>(key) and await handle.Task, then check Status before reading Result. Always release the handle with Addressables.Release(handle) when done, or the AssetBundle stays in memory indefinitely.

What changed in Addressables 2.9.1 for Unity 6 migration?

Addressables 2.9.1 removed all non-Async methods like LoadAsset and Instantiate, replaced IList<object> overloads with IEnumerable, and added SceneReleaseMode for scene loads. LegacyResourcesLocator and diagnostic callback APIs were also removed.

Why does Addressables throw invalid operation handle exceptions?

This happens when you use a handle after releasing it, or release the same handle twice. Mixing Addressables.Release(handle) with AssetReference.ReleaseAsset() on the same load also causes double-release exceptions.

Does WaitForCompletion work on WebGL Addressables builds?

No, WaitForCompletion is unsupported on WebGL and throws because the JS backend cannot synchronously pump async operations. Use await handle.Task or the Completed event instead, and guard any WaitForCompletion calls with platform conditionals.

How do I implement Addressables hot update with catalog refresh?

Call CheckForCatalogUpdates first to get stale catalog IDs, then pass that list to UpdateCatalogs with autoCleanBundleCache enabled. Skipping the check re-downloads every catalog each launch, wasting bandwidth.

Why is my AssetReference field not showing in the Unity Inspector?

Unity cannot serialize the open generic AssetReferenceT<T> directly. Use a closed subclass like AssetReferenceGameObject, or define your own subclass of AssetReferenceT<YourType> for custom asset types.