Agent skill

Unity Skills

by Besty0728 in Besty0728/Unity-Skills

Automate the Unity Editor through a local REST API — scripts, scenes, prefabs, assets, materials, lighting, tests and hundreds of other Editor operations.

MITAuto-check passedGame Development

Install Unity Skills

skills CLI
$ npx skills add Besty0728/Unity-Skills --skill unity-skills -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Besty0728/Unity-Skills unity-skills --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Besty0728/Unity-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/'SkillsForUnity/unity-skills~' .claude/skills/unity-skills && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
unity-skills
GitHub stars
1.8k
Token cost
~2k tokens
SKILL.md length
754 words
Files
31 (incl. scripts, references)
Skills in repo
82
Repo updated
First seen
Licence
MIT

At a glance

Automate the Unity Editor through a local REST API — scripts, scenes, prefabs, assets, materials, lighting, tests and hundreds of other Editor operations.

  • The user wants to actually operate the Unity Editor from chat — create
  • SKILL.md covers Route first, Target the right Editor, Quick reference and Everything else: one discovery…, plus 3 more sections
  • Calls curl
  • Batch-edit GameObjects/scripts/scenes/assets

What it does

Unity Skills is an agent skill from Besty0728/Unity-Skills. Automate the Unity Editor through a local REST API — scripts, scenes, prefabs, assets, materials, lighting, tests and hundreds of other Editor operations. Use when the user wants to actually operate the Unity Editor from chat — create, modify or batch-edit GameObjects/scripts/scenes/assets, or run Editor automation — in any language. Not needed for conceptual Unity Q&A that touches no Editor state — read the matching advisory doc under skills/ instead. 当用户要从对话里实际操作 Unity 编辑器(创建/修改/批量编辑/运行测试)时使用,任何语言均可触发;纯概念问答无需本协议。

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 31 other files, including scripts and reference files (for example `SKILL_GUIDE.md`, `references/2d.md` and `references/3d.md`). Compatibility notes: Requires Unity Editor 2022.3+/6000.x with the UnitySkills package (local REST server on localhost:8090-8100); Python 3 for the bundled client

It sits in Game Development, covering REST APIs. It works with Unity. The repository describes itself as: AI automation skills specifically designed for Unity. The licence is MIT.

When your agent uses it

  • The user wants to actually operate the Unity Editor from chat — create
  • Batch-edit GameObjects/scripts/scenes/assets
  • Run Editor automation — in any language

Example prompts

  • “/unity-skills”

Requirements

  • Python 3
  • Compatibility (from SKILL.md): Requires Unity Editor 2022.3+/6000.x with the UnitySkills package (local REST server on localhost:8090-8100); Python 3 for the bundled client

What it can do on your machine

Read from SKILL.md and the folder at commit ec8aa7c. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/, which the agent can run.

    Shell commands in SKILL.md call:

    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use curl, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Requires Unity Editor 2022.3+/6000.x with the UnitySkills package (local REST server on localhost:8090-8100); Python 3 for the bundled client

    From compatibility in the SKILL.md frontmatter.

Context cost

Unity Skills loads about 2k tokens when it runs, and up to ~134k if it reads all its reference files. Until then it costs about 133 tokens; SKILL.md has 754 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~133
When it runs · the whole SKILL.md, loaded when a task matches
~2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~134k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from Besty0728/Unity-Skills at commit ec8aa7c, republished under its MIT licence (© Besty0728). 754 words, ~2,006 tokens.

Download SKILL.mdSave it as .claude/skills/unity-skills/SKILL.md (or your agent's skills folder). This skill also uses 30 other files; get the full folder from GitHub.
name
unity-skills
description
Automate the Unity Editor through a local REST API — scripts, scenes, prefabs, assets, materials, lighting, tests and hundreds of other Editor operations. Use when the user wants to actually operate the Unity Editor from chat — create, modify or batch-edit GameObjects/scripts/scenes/assets, or run Editor automation — in any language. Not needed for conceptual Unity Q&A that touches no Editor state — read the matching advisory doc under skills/ instead. 当用户要从对话里实际操作 Unity 编辑器(创建/修改/批量编辑/运行测试)时使用,任何语言均可触发;纯概念问答无需本协议。
compatibility
Requires Unity Editor 2022.3+/6000.x with the UnitySkills package (local REST server on localhost:8090-8100); Python 3 for the bundled client

Unity Skills

Docs are English-only: match requests to modules by meaning in any language, and always reply in the user's language.

Route first

  • Automate — the user asked you to act, or it needs traversal, search, batch, exact numbers or many objects: drive the Editor via REST.
  • Guide — the user wants to do it themselves, or surfaceProfile is guide: name menus and Inspector fields per SKILL_GUIDE.md.
  • Advise — a design question that changes nothing: answer from the matching advisory doc (scriptdesign, architecture, patterns, all in the module index), no REST calls.

Target the right Editor

Ports 8090–8100 go first come, first served: add ?expectProject=<project> (productName or folder name) or the exact ?expectInstance=<instanceId> to every write. A different Editor answers 409 INSTANCE_MISMATCH and runs nothing.

GET /health (exempt from the check) has currentMode, surfaceProfile, dryRunPolicy, instanceId: probe it once in the same shell command as your first request, adding no other call, then only after a refused write, 409, 503/refused connection or odd mode. bypass and auto run writes directly, but under auto confirm ≥5-object batches, prefab apply, scene-level, asset-overwriting or irreversible changes with the user first (probe alone before those); approval gates FullAuto writes behind single-shot grants (permanent: the user's Allowlist).

During a domain reload the port answers 503 or refuses for seconds while its ~/.unity_skills/registry.json entry reads reloading: retry it, never another instance.

Quick reference

Every skill is POST /skill/<name> with JSON args: curl -s "http://localhost:<port>/skill/gameobject_set_transform?expectProject=<project>" -d '{"name":"Crate","posX":4,"posY":1.5,"posZ":-2}'

Target objects by name or the exact path/instanceId (likewise parentPath, childPath); skip lookup calls — a wrong name fails the call and returns candidates.

Call
gameobject_create {name, primitiveType, parentName, x,y,z, rotX,rotY,rotZ, scaleX,scaleY,scaleZ, space} — x/y/z, rot local to the parent unless space:"world"; scale local
gameobject_set_transform {name, posX,posY,posZ, rotX,rotY,rotZ, scaleX,scaleY,scaleZ, localPosX,localPosY,localPosZ} — pos, rot world; scale, localPos local; omitted axes kept
gameobject_find {name, useRegex, component} · gameobject_get_info {name}
gameobject_rename {name, newName} · gameobject_duplicate {name}
gameobject_set_parent {childName, parentName} · gameobject_set_active {name, active}
gameobject_delete {name} (dryRun first)
component_add {name, componentType}
component_set_property {name, componentType, propertyName, value} — vectors, colours "1,2,3"; references referenceName/referencePath/assetPath
component_get_properties {name, componentType}
material_assign {name, materialPath}
light_set_properties {name, r,g,b, intensity, range, spotAngle, shadows}
script_create {scriptName, folder, content} — full source; dryRun first; wait below
scene_save {} (dryRun first)

Everything else: one discovery call

GET /skills/recommend?intent=<words>&includeSchema=true&topN=3&wire=v2 → top 3 skills with exact schemas (~1–4 KB); several needs → one more &intent=<words> each, same call. Name known → GET /skills/schema?names=a,b&wire=v2. Wider layers, v2 fields, constants → discovery.

Execute

Several steps, one call: POST /skills/batch?expectProject=<project> {"steps":[{"skill":"gameobject_create","args":{"name":"Rig"}},{"skill":"gameobject_create","args":{"name":"Arm","parentName":"Rig"}}]} — ≤50 steps; a step may name objects earlier steps created, or use {"$ref":"$0.instanceId"}; the first failure skips the rest unless continueOnError:true; ?mode=transactional = all-or-nothing → batch.

dryRun. If this table, recommend or schema gave you the signature this session, execute directly: a failed validation runs nothing and returns the dryRun report (all validation buckets, parameter list). DryRun first (?mode=dryRun&wire=v2) for deletes, riskLevel high, mayTriggerReload/mayEnterPlayMode, approval mode, non-transactional multi-step batches, or when unsure; under a dryRunPolicy, execute with the returned ?dryRunToken=. valid:true = no validation errors (warnings never block; the target may still be missing); authorization previews the permission gate.

Never invent skill or parameter names: use this table, recommend or schema. On failure read suggestedFixes; open a module doc only when a response names one.

Show full SKILL.md (237 more words)Show less

Verify from the read-back

A successful write returns the state read back from the Editor (e.g. world position, valueSet) — that is the verification; resolutionNotes flags a non-exact name match. Use *_get_info only for async results or missing fields. Script writes, and asset_refresh after you write a .cs yourself (compileTriggered:true), return waitUrl: one GET waits out compile+reload → status:"completed", or failed with errors in resultData.compilation. One command: u=http://localhost:<port>; c="$u/skill/script_create?expectProject=<project>"; b='{"scriptName":"Spin","content":"<source>"}'; s='{"steps":[{"skill":"component_add","args":{"name":"Crate","componentType":"Spin"}},{"skill":"component_set_property","args":{"name":"Crate","componentType":"Spin","propertyName":"speed","value":"9"}}]}'; curl -s "$c&mode=dryRun" -d "$b" | grep -q '"valid":true' && J=$(curl -s "$c" -d "$b" | tee /dev/stderr | grep -o '/jobs/[^"]*=90') && curl -s --retry 20 --retry-connrefused --retry-all-errors --retry-delay 2 "$u$J" && curl -s "$u/skills/batch?expectProject=<project>" -d "$s"

Surface profile and errors

surfaceProfile is the user's panel choice; guide and noSceneAuthoring hide some writes, which answer SURFACE_EXCLUDED naming the doc to read or the profile to leave. It is a boundary: do the rest of the task, never retry or route around it (profiles).

CodeMeaning → action
MISSING_PARAM / TARGET_NOT_FOUNDBad or unresolvable arguments → fix from details / locate the target (gameobject_find).
INSTANCE_MISMATCH (409)Resend to the port suggestedFixes name.
MISSING_PACKAGETell the user (dryRun missingPackages, recommend unavailable show it early); installing is their call.
MODE_RESTRICTED / MODE_FORBIDDENGrant / bypass or Allowlist → operating mode.
othererror codes

Compile status, events, analytics → observability; closed Editor + opt-in Unity CLI → unity-cli.

Current snapshot: 805 REST skills, 56 source files, 54 categories, 82 module doc directories (54 REST/module docs + 28 advisory docs), Unity 2022.3+, default timeout 15 minutes.

Python helper: unity-skills/scripts/unity_skills.py

© Besty0728, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 30 other files (scripts, references) in SkillsForUnity/unity-skills~ of Besty0728/Unity-Skills.

  • SKILL.md
  • SKILL_GUIDE.md
  • references/2d.md
  • references/3d.md
  • references/README.md
  • references/SKILL_FULL.md
  • references/animation.md
  • references/assets.md
  • references/audio.md
  • references/editor.md
  • references/index.md
  • references/networking.md
  • references/optimization.md
  • references/other.md
  • references/physics.md
  • references/platform.md
  • references/protocol-discovery.md
  • references/protocol-error-codes.md
  • references/protocol-observability.md
  • references/protocol-operating-mode.md
  • … and 11 more

Open the folder on GitHubat commit ec8aa7c

Compare with similar skills

Unity Skills next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Unity Skills compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Unity Skills this skillBesty0728/Unity-Skills1.8k—~2kAutomated safety check: PassMIT
Fantasy Framework Development Guideqq362946/Fantasy1.4k—~5.8kAutomated safety check: PassCustom licence
Locus Unity BridgeMisaka-Mikoto-Tech/agent-skills275—~4kAutomated safety check: PassMIT
AibridgeFlameskyDexive/Legends-Of-Heroes929—~2.1kAutomated safety check: PassMIT
Uloop Control Play ModeCyberAgentGameEntertainment/NovaShader1.6k1 repos~1.3kAutomated safety check: PassMIT
Unity PluginTomLeeLive/openclaw-unity-plugin107—~5.1kAutomated safety check: PassApache-2.0

Similar skills

  • Development and review guide for the Fantasy C# distributed game server framework: ECS, FTask, routing, service discovery, config and databases.

    1.4k GitHub stars~5.8k tokensUpdated 6 days ago
    Game DevelopmentAuto-check passed
  • Locus Unity Bridge

    Misaka-Mikoto-Tech/agent-skills

    A skill your agent uses when an agent needs to inspect or control a real Unity Editor through Locus, especially when Unity MCP is unavailable, named-pipe discovery is needed, C must be executed, or…

    275 GitHub stars~4k tokensUpdated 17 days ago
    Game DevelopmentAuto-check passed
  • Aibridge

    FlameskyDexive/Legends-Of-Heroes

    Unity Editor and Player Runtime CLI integration for AIBridge.

    929 GitHub stars~2.1k tokensUpdated 16 days ago
    Game DevelopmentAuto-check passed
  • Uloop Control Play Mode

    CyberAgentGameEntertainment/NovaShader

    Control Unity Editor Play Mode. An agent skill from CyberAgentGameEntertainment/NovaShader.

    1.6k GitHub starsUsed in 1 repo~1.3k tokens
    Game DevelopmentAuto-check passed
  • Unity Plugin

    TomLeeLive/openclaw-unity-plugin

    Control Unity Editor via OpenClaw Unity Plugin. An agent skill from TomLeeLive/openclaw-unity-plugin.

    107 GitHub stars~5.1k tokensUpdated 29 days ago
    Game DevelopmentAuto-check passed
  • Viewsystem Pool Migration

    MacacaGames/MacacaViewSystem

    Migrate MacacaViewSystem ViewElement pools from KeepForever to an evidence-based recovery policy while preserving lifecycle, requested-pool, unique, async, event, and Addressable ownership safety.

    121 GitHub stars~1.3k tokensUpdated 9 days ago
    Game DevelopmentAuto-check passed

More from Besty0728/Unity-Skills

All 82 skills in this repo
  • Unity Animator

    Besty0728/Unity-Skills

    Edit Unity Animator Controllers and drive runtime parameters

    1.8k GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Unity Architecture

    Besty0728/Unity-Skills

    Advise on Unity gameplay and system architecture. An agent skill from Besty0728/Unity-Skills.

    1.8k GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Unity Batch

    Besty0728/Unity-Skills

    Unified batch and async-job orchestration. An agent skill from Besty0728/Unity-Skills.

    1.8k GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Unity Behavior

    Besty0728/Unity-Skills

    Drive Unity Behavior behavior graphs and blackboard variables

    1.8k GitHub stars~3k tokensUpdated yesterday
    Auto-check passed
  • Unity Console

    Besty0728/Unity-Skills

    Capture and query the Unity Editor console. An agent skill from Besty0728/Unity-Skills.

    1.8k GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed
  • Unity Dotween

    Besty0728/Unity-Skills

    Automate DOTween Free/Pro at editor time. An agent skill from Besty0728/Unity-Skills.

    1.8k GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Unity Skills

What does Unity Skills do?

Automate the Unity Editor through a local REST API — scripts, scenes, prefabs, assets, materials, lighting, tests and hundreds of other Editor operations. Unity Skills is an agent skill from Besty0728/Unity-Skills. Automate the Unity Editor through a local REST API — scripts, scenes, prefabs, assets, materials, lighting, tests and hundreds of other Editor operations.

When should I use Unity Skills?

Unity Skills fits situations like: the user wants to actually operate the Unity Editor from chat — create; batch-edit GameObjects/scripts/scenes/assets; run Editor automation — in any language.

How do I install Unity Skills in Claude Code?

Run `npx skills add Besty0728/Unity-Skills --skill unity-skills -a claude-code`. Or copy the skill folder (SkillsForUnity/unity-skills~ in Besty0728/Unity-Skills) into .claude/skills/unity-skills in your project. Claude Code loads it when a task matches its description.

How do I install Unity Skills in Codex?

Run `npx skills add Besty0728/Unity-Skills --skill unity-skills -a codex`. Or copy the skill folder (SkillsForUnity/unity-skills~ in Besty0728/Unity-Skills) into .agents/skills/unity-skills in your project. Codex loads it when a task matches its description.

Can I use Unity Skills in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Besty0728/Unity-Skills --skill unity-skills -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/unity-skills, .gemini/skills/unity-skills, .github/skills/unity-skills and .opencode/skills/unity-skills in your project.

What does Unity Skills need to run?

Going by SKILL.md and its folder, Unity Skills needs the command-line tools its instructions call (curl). Our summary lists: Python 3. Compatibility (from SKILL.md): Requires Unity Editor 2022.3+/6000.x with the UnitySkills package (local REST server on localhost:8090-8100); Python 3 for the bundled client.

Does Unity Skills access the network?

SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Unity Skills safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Unity Skills use?

Unity Skills is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Unity Skills use?

About 2k tokens (SKILL.md is roughly 8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 132k tokens, read only when the agent opens those files.

What are the alternatives to Unity Skills?

Skills that share tags, products or a category with Unity Skills: Fantasy Framework Development Guide (qq362946/Fantasy, 1.4k stars), Locus Unity Bridge (Misaka-Mikoto-Tech/agent-skills, 275 stars), Aibridge (FlameskyDexive/Legends-Of-Heroes, 929 stars) and Uloop Control Play Mode (CyberAgentGameEntertainment/NovaShader, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Unity Skills?

Besty0728 (a GitHub user) maintains it in Besty0728/Unity-Skills, which has 1,815 GitHub stars. The repository holds 82 skills in this directory. The repository was last updated on October 7, 2026.

Source: Besty0728/Unity-Skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.