addressables-design
Source-anchored design rules for Unity Addressables 1.22.3/2.9.1
Manage Addressables groups, entries, profiles and content builds (com.unity.addressables, reflection-based)
$ npx -y skills add Besty0728/Unity-Skills --skill addressables --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/addressablesContext preview
The summary Claude sees to decide when to auto-load this skill.
Manage Addressables groups, entries, profiles and content builds (com.unity.addressables, reflection-based)
name: unity-addressables description: Manage Addressables groups, entries, profiles and content builds (com.unity.addressables, reflection-based)
> **Before calling any skill in this module:** if you are about to call a skill with parameters guessed from its name or description, STOP — read this file (or fetch its schema via `GET /skills/recommend?includeSchema=true`) first. If you already have the parameter definitions from recommend/schema, you may proceed straight to dryRun.
Editor-side automation for [Addressables](https://docs.unity3d.com/Packages/com.unity.addressables@latest) — group CRUD, asset entry assignment, profile switching, and the content build. This is the **authoring** surface (the `AddressableAssetSettings` asset); runtime loading code is not a skill.
**This module holds zero direct references to the package.** Every call resolves through reflection against the `Unity.Addressables.Editor` assembly, so the UnitySkills Editor assembly compiles identically whether or not Addressables is installed — there is no scripting define to set and no recompile needed after installing.
> **Requires**: `com.unity.addressables` (API anchored to **2.x** Editor source; the 1.22.x API surface used here is identical). > **Companion modules**: [addressables-design](../addressables-design/SKILL.md) for the runtime loading contract and the 1.22.3 / 2.9.1 migration table, [yooasset](../yooasset/SKILL.md) if the project ships hot updates through YooAsset instead, [package](../package/SKILL.md) to install the package.
**Two independent preconditions.** Failing either returns a structured error, not a permission denial: 1. **Package installed.** Without it every skill except `addressables_check_installed` returns `errorCode: "MISSING_PACKAGE"` with `requiredPackage`, `docs` and install instructions. 2. **Settings asset created.** The package can be installed while `AddressableAssetSettings` does not yet exist. Every skill except `addressables_check_installed` then returns `errorCode: "TARGET_NOT_FOUND"` telling you to create it from **Window > Asset Management > Addressables > Groups**. There is deliberately no skill for this step — only the Groups window (or a human) can create the settings singleton.
**Always call `addressables_check_installed` first.** It is the only skill that works in both failure states, and its `installed` / `configured` pair tells you which precondition is missing.
**Operating Mode** (v1.9 three-tier):
**DO NOT** (these skills do NOT exist — do not invent them):
**Routing**:
Probe for the package and the settings asset. **The only skill that works without either.** Call it first. **Parameters:** None Returns `installed`, `configured`, `packageId`, and a `hint` naming the next action. When installed it adds `version` (from `PackageInfo.FindForAssembly`) and `settingsPath` (null when `configured` is false).
List every group in the settings asset. **Parameters:** None Returns `count` plus `groups[]`, each entry carrying `name`, `guid`, `isDefault`, `readOnly` and `entryCount`. Use it to resolve a real group name before any group-scoped call.
Create a group with the standard `BundledAssetGroupSchema` + `ContentUpdateGroupSchema` pair. Not set as the default group and not read-only.
| Parameter | Type | Required | Description | |---|---|---|---| | `groupName` | string | Yes | Desired group name. Rejected when blank. |
Returns `groupName` (**the name that actually landed on disk**), `requestedName`, `renamed`, `guid`, and a `note` when the two differ. See Critical Rule 1 — this skill renames on collision instead of failing
REST API-based AI-driven Unity Editor Automation Engine Let AI control Unity scenes directly through Skills 🎉 We are now indexed by DeepWiki! Got questions? Check out the AI-generated docs → The current official maintenance baseline is Unity 2022.3+.
Source-anchored design rules for Unity Addressables 1.22.3/2.9.1