unity-addressables-design

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

Updated Jan 29, 2026
One-click install
npx skills add https://github.com/Dylan8865/FinalYearProject --skill unity-addressables-design-dylan8865
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: unity-addressables-design
Source: https://github.com/Dylan8865/FinalYearProject/tree/main/GameDev/Tester/.agents/skills/unity-skills/skills/addressables-design
Command: npx skills add https://github.com/Dylan8865/FinalYearProject --skill unity-addressables-design-dylan8865

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 double-release exceptions. This Skill grounds every rule in cited source lines from Addressables 1.22.3 (Unity 2022) and 2.9.1 (Unity 6) so generated code compiles and manages handle lifetimes correctly. ## Core Features & Use Cases - Version-Accurate API Rules: Covers initialization, AsyncOperationHandle lifecycle, asset and scene loading, catalog updates, downloads, and AssetReference usage with per-version line citations. - Migration Guidance: Provides a legacy-to-modern API mapping table for porting 1.22.3 code to 2.9.1, including removed overloads and the new SceneReleaseMode enum. - Pitfall Catalog: Documents 30 verified hallucination pitfalls with version tags, symptoms, and source-cited fixes. - Use Case: When asked to write a scene-loading flow for Unity 6, the Skill ensures LoadSceneAsync uses the correct SceneReleaseMode parameter and that handles are released via UnloadSceneAsync rather than leaking bundles. ## Quick Start Ask the AI to write or review Unity Addressables loading code for your target Unity version, such as an async asset preload flow with proper handle release.

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 finished, or the AssetBundle stays in memory indefinitely.

How do I migrate Addressables code from Unity 2022 to Unity 6?▼

Replace all non-Async methods like LoadAsset, Instantiate, and LoadScene with their Async counterparts, since 2.9.1 removed them. Also convert IList<object> multi-key arguments to IEnumerable and remove references to LegacyResourcesLocator and DiagnosticEvent.

Why does Addressables throw 'Attempting to use an invalid operation handle'?▼

This happens when a handle is released twice or used after release. Each load acquires one reference count, so call Release exactly once, and never mix Addressables.Release with AssetReference.ReleaseAsset on the same load.

Does Addressables WaitForCompletion work on WebGL builds?▼

No, WaitForCompletion is unsupported on WebGL and throws because the JavaScript backend cannot pump synchronous waits. Use await handle.Task or the Completed event instead, guarding any WaitForCompletion calls with platform conditionals.

What is SceneReleaseMode in Addressables 2.9.1?▼

SceneReleaseMode is a new enum controlling whether the scene's AssetBundle releases when the scene unloads. The default ReleaseSceneWhenSceneUnloaded matches 1.22.3 behavior, while OnlyReleaseSceneOnHandleRelease requires a manual Addressables.Release call.

Should I use LoadAssetAsync or InstantiateAsync for spawning prefabs?▼

Use LoadAssetAsync plus manual Instantiate when pooling many instances from one bundle load. Use InstantiateAsync when each instance should carry its own handle lifetime, then destroy it with Addressables.ReleaseInstance rather than GameObject.Destroy.