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…
Inspect and control Unity Editor state with unity-cli. An agent skill from akiojin/unity-cli.
$ npx skills add akiojin/unity-cli --skill unity-editor-tools -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install akiojin/unity-cli unity-editor-tools --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/akiojin/unity-cli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude-plugin/plugins/unity-cli/skills/unity-editor-tools .claude/skills/unity-editor-tools && rm -rf skills-srcUse ~/.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/
Install the "unity-editor-tools" agent skill from https://github.com/akiojin/unity-cli/tree/main/.claude-plugin/plugins/unity-cli/skills/unity-editor-tools into .claude/skills/unity-editor-tools/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "unity-editor-tools", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/akiojin/unity-cli/tree/main/.claude-plugin/plugins/unity-cli/skills/unity-editor-toolsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add akiojin/unity-cli --skill unity-editor-tools -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install akiojin/unity-cli unity-editor-tools --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/akiojin/unity-cli.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude-plugin/plugins/unity-cli/skills/unity-editor-tools .agents/skills/unity-editor-tools && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "unity-editor-tools" agent skill from https://github.com/akiojin/unity-cli/tree/main/.claude-plugin/plugins/unity-cli/skills/unity-editor-tools into .agents/skills/unity-editor-tools/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "unity-editor-tools", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add akiojin/unity-cli --skill unity-editor-tools -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install akiojin/unity-cli unity-editor-tools --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/akiojin/unity-cli.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude-plugin/plugins/unity-cli/skills/unity-editor-tools .cursor/skills/unity-editor-tools && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "unity-editor-tools" agent skill from https://github.com/akiojin/unity-cli/tree/main/.claude-plugin/plugins/unity-cli/skills/unity-editor-tools into .cursor/skills/unity-editor-tools/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "unity-editor-tools", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/akiojin/unity-cli.git --path .claude-plugin/plugins/unity-cli/skills/unity-editor-tools--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add akiojin/unity-cli --skill unity-editor-tools -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install akiojin/unity-cli unity-editor-tools --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/akiojin/unity-cli.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude-plugin/plugins/unity-cli/skills/unity-editor-tools .gemini/skills/unity-editor-tools && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "unity-editor-tools" agent skill from https://github.com/akiojin/unity-cli/tree/main/.claude-plugin/plugins/unity-cli/skills/unity-editor-tools into .gemini/skills/unity-editor-tools/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "unity-editor-tools", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install akiojin/unity-cli unity-editor-toolsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add akiojin/unity-cli --skill unity-editor-tools -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/akiojin/unity-cli.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude-plugin/plugins/unity-cli/skills/unity-editor-tools .github/skills/unity-editor-tools && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "unity-editor-tools" agent skill from https://github.com/akiojin/unity-cli/tree/main/.claude-plugin/plugins/unity-cli/skills/unity-editor-tools into .github/skills/unity-editor-tools/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "unity-editor-tools", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add akiojin/unity-cli --skill unity-editor-tools -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install akiojin/unity-cli unity-editor-tools --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/akiojin/unity-cli.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude-plugin/plugins/unity-cli/skills/unity-editor-tools .opencode/skills/unity-editor-tools && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "unity-editor-tools" agent skill from https://github.com/akiojin/unity-cli/tree/main/.claude-plugin/plugins/unity-cli/skills/unity-editor-tools into .opencode/skills/unity-editor-tools/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "unity-editor-tools", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
unity-editor-toolsInspect and control Unity Editor state with unity-cli. An agent skill from akiojin/unity-cli.
Unity Editor Tools is an agent skill from akiojin/unity-cli. Inspect and control Unity Editor state with unity-cli. Use when the user asks to open or close an Editor, run a headless host, wait for readiness, build a standalone Player, bake lighting, NavMesh or occlusion, poll build/bake jobs, evaluate C, read console output, update settings, run menus, inspect windows or capture profiler data. Do not use for package operations; use unity-package-management. For C edits use unity-csharp-edit; for URP and Volume setup with visual verification use unity-urp-setup.
Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/editor-ops-checklist.md` and `references/runtime-checklist.md`).
It sits in Game Development, covering Performance optimization. It works with Unity and C#. The repository describes itself as: Rust CLI for Unity Editor automation over Unity TCP protocol. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 7f45d7a. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
Bash(unity-cli:*)ReadGrepGlobFrom allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash and csharp).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Unity Editor Tools loads about 2.9k tokens when it runs, and up to ~3.4k if it reads all its reference files. Until then it costs about 133 tokens; SKILL.md has 1,099 words of instructions outside code blocks.
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.
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); files beside SKILL.md are not scanned.
The full file from akiojin/unity-cli at commit 7f45d7a, republished under its MIT licence (© akiojin). 1,099 words, ~2,905 tokens.
.claude/skills/unity-editor-tools/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.With --output json, results use {success, command, data, errors, warnings}. Check the exit status and envelope success first; tool-result fields in this skill are relative to data. Read failure codes from errors[0].code; see unity-cli-usage for exit-code recovery.
Use this skill for editor-wide diagnostics and control: console, project settings, menu items, windows, selection, and profiler. Hand off to a domain skill once the request narrows to scene, asset, package, or code work.
Configure AudioClip import, AudioMixer routing and AudioSource playback as one
verified workflow: use unity-audio-setup.
Configure Locale/String Table assets and verify localized UI text: unity-localization.
Build a complete UXML/USS UI Toolkit screen and verify its interactions: use unity-ui-toolkit-build.
The work is UPM package discovery/install/update/removal or scoped registries; use unity-package-management.
The task is scene creation or prefab editing (rather than a bake job); use unity-scene-create or unity-prefab-workflow.
The work is asset import or material edits; use unity-asset-management.
The work is a C# refactor; use unity-csharp-edit.
The user only needs Play Mode or test execution; use unity-playmode-testing.
unity-cli editor open --project-path /path/to/project --wait-ready 300
unity-cli editor status --project-path /path/to/project --output json
unity-cli editor close --project-path /path/to/project
# To keep a batch host running:
unity-cli editor open --project-path /path/to/project --headless --wait-ready 300
unity-cli raw get_hierarchy --project-path /path/to/project --json '{}'
unity-cli editor close --project-path /path/to/projectThe project needs the Bridge installed. open selects the version in
ProjectSettings/ProjectVersion.txt from Unity Hub's default path (or
UNITY_EDITOR_PATH). Missing Editor: exit 4; follow the returned
unity install <version> instruction. Installation/licensing belong to the
official Unity CLI. --wait-ready waits for this project's lockfile and ping;
without it, launch returns immediately. A timeout leaves the Editor running.
Use status (stopped, starting, compiling, safe_mode, ready) and
Logs/unity-cli-editor.log to diagnose startup.
--headless runs -batchmode -nographics with the Bridge enabled and no -quit.
close waits for process exit and refuses dirty scenes with UNSAVED_SCENES.
Save the scenes first; use close --force only when discarding unsaved changes
is intended. Legacy raw quit_editor without force does not provide this guard.
editor open --project-path <project> --wait-ready 300; then verify connectivity with unity-cli system ping and get_editor_state.unity-cli system ping
unity-cli raw get_editor_state --json '{}'
unity-cli raw read_console --json '{"count":20}'
unity-cli raw update_project_settings --json '{"confirmChanges":true,"player":{"companyName":"MyStudio"}}'
unity-cli raw profiler_start --json '{}'
unity-cli raw profiler_stop --json '{}'Use unity-csharp-edit to create Assets/Editor/ProjectTools.cs in the target
project. In an asmdef, reference UnityCliBridge.Editor and restrict it to Editor.
The public API is UnityCliBridge.Tools; no CLI release is required.
using UnityEngine;
using UnityCliBridge.Tools;
public static class ProjectTools
{
[UnityCliTool("spawn_light", Description = "Create a scene light")]
public static object SpawnLight([UnityCliArg("Object name")] string name)
{
var gameObject = new GameObject(name);
gameObject.AddComponent<Light>();
return new { name = gameObject.name };
}
}Refresh and wait for compilation before discovery. Use the same project/endpoint for every command. Verify the result through the hierarchy and component details.
unity-cli raw refresh_assets --json '{}'
unity-cli raw get_compilation_state --json '{}'
unity-cli tool list --category custom --output json
unity-cli tool schema spawn_light --output json
unity-cli raw spawn_light --json '{"name":"Sun"}' --output json
unity-cli raw get_hierarchy --json '{}' --output json
unity-cli raw get_gameobject_details --json '{"path":"/Sun","includeComponents":true}' --output jsonJSON list items include name, description, params_schema and
source: builtin|custom. Extract names with .data[].name, or use
tool list --names-only --output json with .data[]. --compact remains a
small {name, description} list. Offline listing contains only builtins.
Methods must be public static, synchronous and non-generic. Supported arguments
are string/bool/int/long/float/double and enum names; C# defaults make arguments
optional. Missing, unknown and mistyped arguments return INVALID_ARGUMENT
before invocation. Mutating defaults to true so --dry-run skips the method;
set false only for side-effect-free reads. Duplicate/builtin names and unsupported
signatures produce a Console warning and are not registered. Inspect read_console
if a tool is missing after compilation. Method exceptions return
CUSTOM_TOOL_FAILED without stopping the Editor. Do not automatically retry a
timed-out method: it may already have run.
Run from Edit Mode after compilation/import finishes. Save the target scene first. The build target must already be active with its support module installed. Paths refer to the Editor host; use a new/empty output parent outside the project assets. Replace scene/output paths and the returned IDs below with values for your project.
unity-cli raw build_player --json '{"target":"StandaloneOSX","scenes":["Assets/Scenes/Generated/E2E/Level.unity"],"outputPath":"/private/tmp/unity-cli-skill-build/Player.app","development":true}'
unity-cli raw get_build_status --json '{"buildId":"<returned-build-id>"}'
unity-cli raw start_scene_bake --json '{"target":"navmesh-surface","scenePath":"Assets/Scenes/Generated/E2E/Level.unity","surfacePath":"/BakeSurface"}'
unity-cli raw get_scene_bake_status --json '{"jobId":"<returned-job-id>"}'For Windows use StandaloneWindows64 and an .exe output. Poll get_build_status
until state is succeeded, failed, or interrupted; only succeeded is a pass.
Inspect the report, artifacts and changedProjectSettings on completion.
Output ancestors must not be symbolic links; on macOS use /private/tmp, not /tmp.
Bake targets are lighting, navmesh-legacy, navmesh-surface, and occlusion.
Load only the target scene and close prefab/asset previews before baking (a preview
scene also triggers MULTIPLE_SCENES). Use its saved path and contributing geometry.
Lighting needs lightmap static geometry and a baked light; occlusion needs occluder
geometry. navmesh-surface additionally needs AI Navigation and a NavMeshSurface at
surfacePath. Omit surfacePath for other targets. Poll get_scene_bake_status
until status is succeeded or failed, then check saved artifacts and verification.
An accepted start is not completion; never start duplicate jobs while polling.
unity-cli editor eval '1+2' --request-id sum --output json
unity-cli editor eval 'var go = new GameObject("Probe"); return go;' --mode statements --request-id create-probe --output json
unity-cli editor eval-status create-probe --output json
unity-cli editor eval-stats --output jsonInspect state: only completed means execution and value conversion succeeded.
compile_error, runtime_error, and serialization_error are distinct failures.
Primitive JSON values preserve their types; Unity objects return reference descriptors.
Evaluation supports Edit/Play Mode, implicit System/UnityEngine/UnityEditor namespaces,
and loaded assembly references. Async/await and persistent REPL sessions are unsupported.
Use dedicated tools when they cover the operation; eval does not require a persistent
.cs file or MenuItem. File edits still belong to unity-csharp-edit.
A timeout only stops waiting; it does not stop code or undo changes. Query the same
request ID with eval-status; never automatically resend with a new ID. Identical
input under a stored ID reuses the result. Domain Reload loses results, so unknown
requires inspecting actual state before deciding whether to execute again. Long-running
synchronous code also blocks status responses. The newest 256 request IDs are kept;
older IDs read as unknown.
Eval is fast when warm: identical code reuses its compiled assembly (the code still
runs on every call) and costs about one ordinary command; new source adds one compile;
the first call after a Domain Reload is the slowest. To repeat an operation, resend the
same code instead of generating a new string per call. Each distinct source emits one
assembly, and after 128 per domain new source returns reload_required (already
compiled source keeps running); eval never reloads automatically. editor eval-stats
shows the domain's emitted-assembly, cache and memory counters.
© akiojin, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in .claude-plugin/plugins/unity-cli/skills/unity-editor-tools of akiojin/unity-cli.
Open the folder on GitHubat commit 7f45d7a
Unity Editor Tools 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Unity Editor Tools this skillakiojin/unity-cli | 107 | — | ~2.9k | Automated safety check: Pass | MIT | |
| Locus Unity BridgeMisaka-Mikoto-Tech/agent-skills | 275 | — | ~4k | Automated safety check: Pass | MIT | |
| Unity PluginTomLeeLive/openclaw-unity-plugin | 106 | — | ~5.1k | Automated safety check: Pass | Apache-2.0 | |
| Unity Version SplitIvanMurzak/Unity-MCP | 4.4k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Game DeveloperJeffallan/claude-skills | 12k | — | ~1.5k | Automated safety check: Pass | MIT | |
| Uloop Compile Checkhatayama/unity-cli-loop | 576 | — | ~1.4k | Automated safety check: Pass | MIT |
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…
TomLeeLive/openclaw-unity-plugin
Control Unity Editor via OpenClaw Unity Plugin. An agent skill from TomLeeLive/openclaw-unity-plugin.
IvanMurzak/Unity-MCP
Split a C file into Unity 6.5+ and pre-Unity 6.5 variants. An agent skill from IvanMurzak/Unity-MCP.
Jeffallan/claude-skills
Covers game programming in Unity and Unreal Engine: ECS design, physics, multiplayer networking, shaders and profiling toward a 60 FPS target.
hatayama/unity-cli-loop
Compile C with the Unity-bundled Roslyn compiler without launching or contacting the Unity Editor; reports errors and warnings only.
Nethereum/Nethereum
Integrate Ethereum into Unity games using Nethereum with async Web3 API, WebGL wallet support via EIP-6963 multi-wallet discovery and MetaMask (.NET/C).
akiojin/unity-cli
Create or update GitHub Pull Requests with the gh CLI, including deciding whether to create a new PR or only push based on existing PR merge status.
akiojin/unity-cli
Sync the gh- automation skills from the upstream skills repository into Codex and project skill directories.
akiojin/unity-cli
Build and verify a 2D sprite and Tilemap scene with unity-cli.
akiojin/unity-cli
Manage Unity Addressables groups and content with unity-cli.
akiojin/unity-cli
Manage Unity assets and import metadata with unity-cli. An agent skill from akiojin/unity-cli.
akiojin/unity-cli
Configure Unity audio with unity-cli. An agent skill from akiojin/unity-cli.
Categories
Inspect and control Unity Editor state with unity-cli. An agent skill from akiojin/unity-cli. Unity Editor Tools is an agent skill from akiojin/unity-cli. Inspect and control Unity Editor state with unity-cli.
Unity Editor Tools fits situations like: the user asks to open; close an Editor; run a headless host; wait for readiness.
Run `npx skills add akiojin/unity-cli --skill unity-editor-tools -a claude-code`. Or copy the skill folder (.claude-plugin/plugins/unity-cli/skills/unity-editor-tools in akiojin/unity-cli) into .claude/skills/unity-editor-tools in your project. Claude Code loads it when a task matches its description.
Run `npx skills add akiojin/unity-cli --skill unity-editor-tools -a codex`. Or copy the skill folder (.claude-plugin/plugins/unity-cli/skills/unity-editor-tools in akiojin/unity-cli) into .agents/skills/unity-editor-tools in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add akiojin/unity-cli --skill unity-editor-tools -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-editor-tools, .gemini/skills/unity-editor-tools, .github/skills/unity-editor-tools and .opencode/skills/unity-editor-tools in your project.
SKILL.md names no scripts, command-line tools or credentials: Unity Editor Tools is instructions for the agent only. Its frontmatter pre-approves these tools: Bash(unity-cli:*), Read, Grep, Glob.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
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. Review the folder before installing.
Unity Editor Tools is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.9k tokens (SKILL.md is roughly 12k 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 479 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Unity Editor Tools: Locus Unity Bridge (Misaka-Mikoto-Tech/agent-skills, 275 stars), Unity Plugin (TomLeeLive/openclaw-unity-plugin, 106 stars), Unity Version Split (IvanMurzak/Unity-MCP, 4.4k stars) and Game Developer (Jeffallan/claude-skills, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
akiojin (a GitHub user) maintains it in akiojin/unity-cli, which has 107 GitHub stars. The repository holds 28 skills in this directory. The repository was last updated on October 5, 2026.
Source: akiojin/unity-cli on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.