addressables-design
Source-anchored design rules for Unity Addressables 1.22.3/2.9.1
Advise on Unity gameplay script quality
Claude Code
$ npx -y skills add Besty0728/Unity-Skills --skill scriptdesign --agent claude-code
Codex
$ npx skills add Besty0728/Unity-Skills --skill scriptdesign -a codex -y
Cursor
$ npx skills add Besty0728/Unity-Skills --skill scriptdesign -a cursor -y
Gemini CLI
$ npx skills add Besty0728/Unity-Skills --skill scriptdesign -a gemini-cli -y
GitHub Copilot
$ npx skills add Besty0728/Unity-Skills --skill scriptdesign -a github-copilot -y
OpenCode
$ npx skills add Besty0728/Unity-Skills --skill scriptdesign -a opencode -y
Windsurf
$ npx skills add Besty0728/Unity-Skills --skill scriptdesign -a windsurf -y
name: unity-scriptdesign description: Advise on Unity gameplay script quality
Documentation only: no REST skills. Use before creating gameplay scripts, or after scripts are generated and need a design pass.
The checklist asks where a *class* lives. Ask the same question of every *field*. Each piece of state has one of three lifecycles, and putting a field on the wrong one causes most "it broke when the designer tweaked a value" and "unit tests are flaky" reports.
| Lifecycle | When the value is decided | Where it belongs | Typical idiom | |-----------|--------------------------|------------------|---------------| | **Authoring-time** | By a designer in the Editor, before Play | `ScriptableObject` asset, or `[SerializeField] private` on a prefab | Immutable at runtime; read via `_config.Speed` | | **Composition-time** | Once per scene/instance, at `Awake`/`Start` | `private` field, assigned from `GetComponent` / `GetComponentInChildren` / ctor arg | Cached reference, no per-frame lookup | | **Runtime-mutable** | Every frame or on gameplay events | `private` backing field + `public` read-only property + event | `public float Health { get; private set; }` + `OnHealthChanged` |
Typical assignments:
Why the separation matters: mixing the lifecycles turns a clean class into a god object. A `MonoBehaviour` whose `public float speed` is edited by both the Inspector and a power-up script has two owners and no invariant. The ECS baking pipeline makes this a hard boundary (Authoring -> Baker -> System), and the discipline transfers: if you would not mix an Authoring component with runtime write-back in ECS, do not mix them in a MonoBehaviour. *Source: `EntitiesSamples/Docs/baking.md:5-16`.*
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
Manage Addressables groups, entries, profiles and content builds (com.unity.addressables, reflection-based)
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.