addressables-design
Source-anchored design rules for Unity Addressables 1.22.3/2.9.1
Guide for authoring user-defined custom UnitySkills skills inside your own Unity project - a [UnitySkill] C# method plus the conventions that let agents and the server discover and gate it
$ npx -y skills add Besty0728/Unity-Skills --skill skill-creator --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/skill-creatorContext preview
The summary Claude sees to decide when to auto-load this skill.
Guide for authoring user-defined custom UnitySkills skills inside your own Unity project - a [UnitySkill] C# method plus the conventions that let agents and the server discover and gate it
name: skill-creator description: Guide for authoring user-defined custom UnitySkills skills inside your own Unity project - a [UnitySkill] C# method plus the conventions that let agents and the server discover and gate it
> **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.
**Audience**: an agent (or developer) adding a **custom skill to your own Unity project**, not to the UnitySkills plugin source. A custom skill is a `public static` method marked `[UnitySkill]` compiled inside your project's Editor code; the server discovers it automatically — you never edit the plugin.
Put the file under `Assets/` in an Editor-only location (e.g. `Assets/Editor/UnitySkillsCustom/MySkills.cs`, or any asmdef whose platform is Editor). The plugin's editor asmdef has `autoReferenced: true`, so `Assembly-CSharp-Editor` and ordinary user Editor asmdefs see the public API without adding references.
After you write the C# (through `script_create` with the full `content`, or by any editor), Unity recompiles and performs a domain reload. The router re-runs `TypeCache.GetMethodsWithAttribute<UnitySkillAttribute>()` on the next request, so the new skill is registered automatically — there is no restart, no list to update.
Recommended agent flow: 1. Check the name is free: `GET /skills?q=<prefix>` or read `GET /skills/schema?names=<cand>&wire=v2`. 2. `script_create { scriptName, folder: "Assets/...", content: <full source> }` — returns `{ path, jobId, waitUrl }`. 3. Wait for compile: `GET /jobs/<jobId>?wait=90` (retry through the reload); inspect `resultData.compilation.errors`. `script_get_compile_feedback(scriptPath)` gives on-demand diagnostics. 4. Confirm registration: `GET /skills/schema?names=<your_skill>&wire=v2` should return your skill with its description and parameters. 5. First real call with `?mode=dryRun`.
Note: `script_create` is `MayTriggerReload` + high-risk — it is **NeverInSemi**: it needs Bypass mode or a panel Allowlist entry; ask the user rather than attempting a grant.
Fill `[UnitySkill]` truthfully — the router, permission gating, schema, and agents all read it:
[UnitySkill("my_greet",
"First sentence is what the agent reads; mention parameters.",
Category = SkillCategory.Uncategorized, // user skills cannot add enum values
Operation = SkillOperation.Query, // Query | Create | Modify | Delete | Execute | Analyze (combine with |)
Tags = new[] { "greeting", "demo" }, // improves /skills/recommend matching
Outputs = new[] { "message" }, // MUST be a subset of what you actually return
TracksWorkflow = false, MutatesScene = false, // honest risk flags (see below)
RiskLevel = "low")] // low | medium | high
public static object MyGreet(
[SkillParam("Who to greet")] string name = "world") { ... }Only the **public** surface is available to project code. Use:
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)