unity-addressables-design

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

Updated Aug 31, 2026
One-click install
npx skills add https://github.com/pikachu0310/codex-agent-ops-public --skill unity-addressables-design-pikachu0310
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: unity-addressables-design
Source: https://github.com/pikachu0310/codex-agent-ops-public/tree/main/.agents/skills/unity-skills/skills/addressables-design
Command: npx skills add https://github.com/pikachu0310/codex-agent-ops-public --skill unity-addressables-design-pikachu0310

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? AI assistants frequently hallucinate Unity Addressables APIs by mixing the 1.x and 2.x surfaces, producing code that fails to compile or leaks AssetBundles in memory. This Skill grounds every rule in cited source files and line numbers from Addressables 1.22.3 and 2.9.1 so generated code matches the actual API. ## Core Features & Use Cases - Version-Accurate API Rules: Covers initialization, asset loading, scene loading, downloads, AssetReference fields, and handle lifecycle with explicit 1.22.3 vs 2.9.1 differences. - Anti-Pattern Detection: Documents 30 verified pitfalls including removed non-Async methods, IList<object> overload removal, double-release errors, and WebGL WaitForCompletion failures. - Migration Reference: Provides a legacy-to-modern API mapping table for porting Unity 2022 projects to Unity 6. - Use Case: When writing an Addressables scene-loading flow for Unity 6, consult this Skill to correctly use the new SceneReleaseMode parameter and avoid bundle leaks from SceneManager.UnloadSceneAsync. ## Quick Start Ask the AI to review or write Unity Addressables loading code for a specific Unity version, and it will load the relevant sub-document such as LOADING.md or SCENE.md before answering.

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 with Unity Addressables without memory leaks?

Every LoadAssetAsync or InstantiateAsync call returns a handle that must be released via Addressables.Release or Addressables.ReleaseInstance. Forgetting to release keeps the AssetBundle in memory indefinitely, and using GameObject.Destroy on an instantiated instance does not decrement the refcount.

What changed in Addressables 2.9.1 for Unity 6?

Addressables 2.9.1 removed all non-Async obsolete methods like LoadAsset and Instantiate, replaced IList<object> multi-key overloads with IEnumerable, and added the SceneReleaseMode enum for scene loading. LegacyResourcesLocator and diagnostic event types were also removed.

Why does my Addressables code fail to compile after upgrading to Unity 6?

Unity 6 ships Addressables 2.9.1, which removed all [Obsolete] non-Async methods such as LoadAsset, Instantiate, LoadScene, and Initialize. Replace each with its Async counterpart, and convert IList<object> key arguments to IEnumerable.

Does Addressables WaitForCompletion work on WebGL?

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

How do I use AssetReference fields in Unity Inspector?

Serialize a closed subclass like AssetReferenceGameObject rather than the open generic AssetReferenceT<T>, which Unity cannot serialize. Load with LoadAssetAsync and release with ReleaseAsset on the same AssetReference, never mixing with Addressables.Release on the cached handle.

When should I use SceneReleaseMode in Addressables scene loading?

SceneReleaseMode exists only in Addressables 2.9.1 and defaults to ReleaseSceneWhenSceneUnloaded, matching 1.22.3 behavior. Use OnlyReleaseSceneOnHandleRelease when you want the bundle to stay resident after unload, but you must then call Addressables.Release manually.