Unity Plugin
TomLeeLive/openclaw-unity-plugin
Control Unity Editor via OpenClaw Unity Plugin. An agent skill from TomLeeLive/openclaw-unity-plugin.
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…
$ npx skills add Misaka-Mikoto-Tech/agent-skills --skill locus-unity-bridge -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Misaka-Mikoto-Tech/agent-skills locus-unity-bridge --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/Misaka-Mikoto-Tech/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/locus-unity-bridge .claude/skills/locus-unity-bridge && 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 "locus-unity-bridge" agent skill from https://github.com/Misaka-Mikoto-Tech/agent-skills/tree/main/skills/locus-unity-bridge into .claude/skills/locus-unity-bridge/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "locus-unity-bridge", 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/Misaka-Mikoto-Tech/agent-skills/tree/main/skills/locus-unity-bridgeType 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 Misaka-Mikoto-Tech/agent-skills --skill locus-unity-bridge -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Misaka-Mikoto-Tech/agent-skills locus-unity-bridge --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Misaka-Mikoto-Tech/agent-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/locus-unity-bridge .agents/skills/locus-unity-bridge && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "locus-unity-bridge" agent skill from https://github.com/Misaka-Mikoto-Tech/agent-skills/tree/main/skills/locus-unity-bridge into .agents/skills/locus-unity-bridge/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "locus-unity-bridge", 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 Misaka-Mikoto-Tech/agent-skills --skill locus-unity-bridge -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Misaka-Mikoto-Tech/agent-skills locus-unity-bridge --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Misaka-Mikoto-Tech/agent-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/locus-unity-bridge .cursor/skills/locus-unity-bridge && 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 "locus-unity-bridge" agent skill from https://github.com/Misaka-Mikoto-Tech/agent-skills/tree/main/skills/locus-unity-bridge into .cursor/skills/locus-unity-bridge/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "locus-unity-bridge", 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/Misaka-Mikoto-Tech/agent-skills.git --path skills/locus-unity-bridge--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 Misaka-Mikoto-Tech/agent-skills --skill locus-unity-bridge -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Misaka-Mikoto-Tech/agent-skills locus-unity-bridge --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Misaka-Mikoto-Tech/agent-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/locus-unity-bridge .gemini/skills/locus-unity-bridge && 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 "locus-unity-bridge" agent skill from https://github.com/Misaka-Mikoto-Tech/agent-skills/tree/main/skills/locus-unity-bridge into .gemini/skills/locus-unity-bridge/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "locus-unity-bridge", 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 Misaka-Mikoto-Tech/agent-skills locus-unity-bridgeInstalls 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 Misaka-Mikoto-Tech/agent-skills --skill locus-unity-bridge -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Misaka-Mikoto-Tech/agent-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/locus-unity-bridge .github/skills/locus-unity-bridge && 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 "locus-unity-bridge" agent skill from https://github.com/Misaka-Mikoto-Tech/agent-skills/tree/main/skills/locus-unity-bridge into .github/skills/locus-unity-bridge/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "locus-unity-bridge", 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 Misaka-Mikoto-Tech/agent-skills --skill locus-unity-bridge -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Misaka-Mikoto-Tech/agent-skills locus-unity-bridge --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Misaka-Mikoto-Tech/agent-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/locus-unity-bridge .opencode/skills/locus-unity-bridge && 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 "locus-unity-bridge" agent skill from https://github.com/Misaka-Mikoto-Tech/agent-skills/tree/main/skills/locus-unity-bridge into .opencode/skills/locus-unity-bridge/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "locus-unity-bridge", 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.
locus-unity-bridgeA 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…
Locus Unity Bridge is an agent skill from Misaka-Mikoto-Tech/agent-skills. Use 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 Unity scripts must be recompiled.
Its SKILL.md is about 4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including scripts and reference files (for example `agents/openai.yaml`, `references/property-tree.md` and `references/scene-prefab-search.md`).
It sits in Game Development. It works with C#, Unity, Model Context Protocol and PowerShell. The repository describes itself as: Reusable AI agent skills for Codex, including a PowerShell skill for safe Windows command invocation and optional MCP utilities. The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 711abaf. It shows what the files ask for, not the result of running them.
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.
Ships 2 files in scripts/ (PowerShell), which the agent can run.
Shell commands in SKILL.md call:
pwshFrom 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.
Locus Unity Bridge loads about 4k tokens when it runs, and up to ~5.1k if it reads all its reference files. Until then it costs about 58 tokens; SKILL.md has 1,742 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); the scripts in this folder are not scanned.
The full file from Misaka-Mikoto-Tech/agent-skills at commit 711abaf, republished under its MIT licence (© Misaka-Mikoto-Tech). 1,742 words, ~4,017 tokens.
.claude/skills/locus-unity-bridge/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.Use the bundled PowerShell client to inspect or control a real Unity Editor.
Do not rewrite its named-pipe client. Always pass the exact Unity root to
-ProjectPath; it identifies the bridge connection.
execute can run arbitrary C# in Unity, and the property-tree write messages
(property_tree_write, property_tree_apply) mutate the user's project. Use
any of them only for the project and task the user authorized, and prefer the
read path when the task is inspection. A connected bridge requires Locus to
already be installed and enabled in the target project. Do not install or
repair Locus, create its marker, launch or close Unity, or modify a project
merely to connect the bridge.
The client has six top-level commands. send is a transport command: its
-MessageType selects a curated Locus protocol message. Do not treat a
message type as a value for -Command.
Top-level -Command | Use |
|---|---|
probe | Check package and bridge connectivity before every Unity operation. |
send | Send one approved protocol message listed below. |
thumbnail | Save an asset thumbnail as a local PNG. |
render-preview | Save a Prefab/model preview as a local PNG. |
execute | Run an authorized C# snippet. |
recompile | Request compilation and wait through domain reload. |
All commands except recompile use -TimeoutSeconds (default 10, range
1–600) for their final pipe response. Increase it only for an operation
that is expected to take longer. recompile instead uses its dedicated timeout
options below.
Resolve the client once:
$locusBridge = Join-Path $env:USERPROFILE '.agents\skills\locus-unity-bridge\scripts\locus-unity.ps1'& pwsh.exe -NoLogo -NoProfile -NonInteractive -File $locusBridge `
-Command probe -ProjectPath 'E:\Source\SomeUnityProject'| Status | Next action |
|---|---|
connected | Continue with an operation. |
package_missing | Report the expected Packages/com.farlocus.locus; installation is outside this skill. |
package_invalid | Report the incomplete installation path; repair is outside this skill. |
bridge_not_enabled | Ask the user to enable/connect Locus for this project. |
editor_unreachable | Verify that the matching project is open in Unity and Locus is active. |
The probe recognizes canonical and legacy package layouts. It uses a bridge marker when present, otherwise it computes the project-specific pipe name.
sendUse this shape for all entries in the table. Successful responses are JSON;
parse a nested JSON payload from the envelope's message field when noted.
& pwsh.exe -NoLogo -NoProfile -NonInteractive -File $locusBridge `
-Command send -ProjectPath 'E:\Source\SomeUnityProject' `
-MessageType <message-type> -Message '<json-or-empty-string>'| Need | -MessageType | -Message / guidance |
|---|---|---|
| Editor status and active scene | status | Empty string. |
| Console errors or warnings | unity_get_console_log | {"levels":["error","warn"],"limit":20}; raise limit only when needed. |
| Known serialized target | property_tree_read | Read Property Tree requests. |
| Locate serialized properties | property_tree_discover | Read Property Tree requests. |
Find objects/fields in .unity or .prefab | search_yaml | Read Scene and Prefab search. |
| Inspect one found scene/Prefab object | read_yaml | Use the object_path from search; see the same reference. |
| Capture Game, Scene, or Editor window | capture_viewport | JSON below. |
get_console_text is a large compatibility snapshot, not a default query.
For capture_viewport, set target to game, scene, or editor_window.
maxLongEdge defaults to 1280, accepts 0 for source size, and is capped at
8192; editor_window optionally accepts windowTitle. The response returns
a PNG path under Library/Locus/Screenshots/; report it and do not delete it.
{"target":"game","maxLongEdge":1280}Everything above is read-only. Unity's property write path is a separate, explicitly authorized step:
| Need | -MessageType | -Message |
|---|---|---|
| Set one existing serialized property | property_tree_write | {"target":{"kind":"selection","propertyPath":"m_Speed"},"valueJson":"12.5"} |
| Commit several writes together | property_tree_apply | {"writes":[<write request>, ...]} |
A write reuses the read targets (selection, asset, scriptableobject,
material, gameobject, component) plus the target.propertyPath reported
by a preceding read or discover. valueJson is the JSON-encoded value.
mode: "preview" applies a transient drag preview instead of committing; omit
mode for a real commit. bindingId is only echoed back and may be omitted.
property_tree_write records Undo, marks the object and scene dirty, and
returns a fresh read plus a beforeSnapshot. It does not save the asset —
live writes keep Property Tree commit semantics, so the asset can still be
waiting for Unity to save it. Never report a write as persisted without a
separate save step, and say so when the file is still dirty.
Writes that must be persisted, revision-checked, or correct against Prefab
inheritance use a different surface: asset_api (transaction id,
expected_revision, dependencies, persist: "disk", array operations,
batches up to 256 files / 10,000 operations). That is the transactional YAML
backend, not a raw file writer; treat it as its own task and confirm scope with
the user before using it.
Do not hand-edit .unity/.prefab YAML as a substitute for either path: exact
fileIDs/GUIDs, Prefab variant override/revert topology, import ordering, and
stale-revision rejection are precisely what the transactional layer exists to
handle.
Do not send asset_thumbnail or asset_preview_render directly: their PNG
responses contain Base64. These commands decode it locally and return only a
path plus image metadata. Use -OutputDirectory to choose a local destination;
otherwise the client uses its local temporary folder.
# Any asset under Assets/ or Packages/; -MaxSize is 64-512 (default 192).
& pwsh.exe -NoLogo -NoProfile -NonInteractive -File $locusBridge `
-Command thumbnail -ProjectPath 'E:\Source\SomeUnityProject' `
-AssetPath 'Assets\Art\Icon.png' -MaxSize 192
# Prefab or model only; width/height are 96-640.
& pwsh.exe -NoLogo -NoProfile -NonInteractive -File $locusBridge `
-Command render-preview -ProjectPath 'E:\Source\SomeUnityProject' `
-AssetPath 'Assets\Props\Chair.prefab' `
-PreviewWidth 320 -PreviewHeight 220 -Yaw 25 -Pitch -12 -Distance 1.15Use -PanX, -PanY, and -PanZ only when reframing the model preview is
necessary. Rendering does not modify the source asset.
Use execute only when the curated operations do not answer the task. Use
-Code for a short snippet or -CodeFile for multi-line/reusable code; provide
exactly one. Prefer print(...) or printJson(...) for returned data.
Main, class, struct, or namespace.print, printJson, clear, ctx, and ct are injected. A non-null
return value is printed as text.printJson(new { key = value, items = values }).
It serializes anonymous objects, dictionaries, and ordinary property-bearing
values to JSON; do not declare a DTO class solely to return data.while, for, or polling loops.ct.ThrowIfCancellationRequested() regularly;
use await ctx... for waits that continue with Unity API access.-TimeoutSeconds only stops this client from waiting; it does not stop Unity
code already running. Treat it as a wait limit, not a recovery mechanism.-AcceptCancel is set and
its stdin stays writable. It then sends cancel_execute_code carrying the
execution id injected into the snippet (//__LOCUS_EXECUTION_ID__:<id>, the
same id execute_code_progress uses). Without -AcceptCancel there is no
cancel path, so a timed-out snippet simply keeps running.print
or ctx.Progress(...) can run indefinitely.execute merely because it timed out: the snippet may still
be running and would then execute a second time. Use -AcceptCancel when you
may need to stop it, keep snippets bounded and repeat-safe, and tell the user
when a snippet might still be live instead of retrying silently.| Symbol | Purpose |
|---|---|
print / printJson | Append plain text / JSON to the final result buffer. |
clear | Clear that buffer; rarely needed. |
ctx | Unity-aware waits and progress, such as WaitFrames, WaitSeconds, and Progress. |
ct | Cancellation token; check it in long loops or call ThrowIfCancellationRequested(). |
Top-level await is supported. For waits followed by Unity API access, use a
ctx awaitable so the continuation resumes from EditorApplication.update.
| Expression | Waits for |
|---|---|
await ctx.wait / await ctx.WaitFrame() | The next editor update. |
await ctx.WaitFrames(n) | n editor updates. |
await ctx.WaitSeconds(s) | At least s seconds, then a later editor update. |
await ctx.WaitUntil(() => condition, "description") | A condition checked on each editor update. |
Do not pass Unity yield objects to ctx. Await local async functions from the
snippet. Each await ctx... checks cancellation before continuing. In long
synchronous loops, or after an external await that does not accept ct, call
ct.ThrowIfCancellationRequested(). The watchdog fires after 30 seconds of
silence: emit ctx.Progress(...) more often than that. Do not use a single
silent await ctx.WaitSeconds(30) or longer; split a longer wait into chunks
under 30 seconds and report progress between them. print(...) also resets the watchdog,
but does not check cancellation, so pair it with an explicit ct check in
long-running loops. Set -TimeoutSeconds for the expected total duration.
For a bounded scan, check cancellation on every iteration and periodically report progress before yielding the Unity main thread:
var scene = SceneManager.GetActiveScene();
var roots = scene.GetRootGameObjects();
var rootNames = new List<string>(roots.Length);
for (var i = 0; i < roots.Length; i++)
{
// Limit cancellation latency within this 100-item batch.
ct.ThrowIfCancellationRequested();
rootNames.Add(roots[i].name);
if ((i + 1) % 100 == 0 || i == roots.Length - 1)
{
ctx.Progress("Inspecting roots", $"{i + 1}/{roots.Length}",
(float)(i + 1) / roots.Length);
await ctx.WaitFrame();
}
}
printJson(new { scene = scene.name, rootNames });Use these ctx awaitables rather than Task.Delay when Unity API access must
continue after the wait. For execute, -TimeoutSeconds is the maximum wait
for the snippet's final response.
& pwsh.exe -NoLogo -NoProfile -NonInteractive -File $locusBridge `
-Command execute -ProjectPath 'E:\Source\SomeUnityProject' `
-CodeFile 'C:\Temp\inspect-scene.cs' -TimeoutSeconds 30
# Opt in only when intermediate async progress is useful.
& pwsh.exe -NoLogo -NoProfile -NonInteractive -File $locusBridge `
-Command execute -ProjectPath 'E:\Source\SomeUnityProject' `
-CodeFile 'C:\Temp\inspect-scene.cs' -TimeoutSeconds 60 `
-FollowProgress -ProgressIntervalSeconds 2 -AcceptCancel
& pwsh.exe -NoLogo -NoProfile -NonInteractive -File $locusBridge `
-Command recompile -ProjectPath 'E:\Source\SomeUnityProject' `
-RecompileRequestTimeoutSeconds 10 -RecompileTimeoutSeconds 120For recompile, -RecompileRequestTimeoutSeconds limits each pipe request;
-RecompileTimeoutSeconds limits the complete compile, reload, and reconnect
workflow. -TimeoutSeconds does not apply to recompile.
Add -AcceptCancel only when the caller keeps the running PowerShell process's
stdin writable. To stop the execution, write one line containing cancel to
that stdin. The script sends the cancellation on its existing Locus connection,
then returns { "Status": "canceled", ... }. This works with or without
-FollowProgress; progress merely gives the agent a basis for deciding. Do not
start a second Locus client to cancel a running execution. Cancellation is
cooperative: snippets must await ctx or check ct in long-running code.
For progress-driven cancellation, the process runner must consume stdout
incrementally while keeping stdin writable. Concurrently read progress records
line by line, then write cancel to the same process's stdin when needed. A
final-only capture such as waiting for ReadToEndAsync() cannot make a decision
from progress before the process exits. Keep -NonInteractive. If cancellation
input is unavailable, split the work into bounded execute calls.
pwsh.exe -File <script> -Message '<json>' mangles the argument on the way to
the native process: internal " are stripped (JSON parse error: Missing a name for object member) and an empty -Message '' is dropped entirely
(Missing an argument for parameter 'Message'). Invoke the script in the
current PowerShell session instead, so the parameters bind as real objects:
$locusBridge = Join-Path $env:USERPROFILE '.agents\skills\locus-unity-bridge\scripts\locus-unity.ps1'
& $locusBridge -Command send -ProjectPath 'E:\Source\SomeUnityProject' `
-MessageType unity_get_console_log -Message '{"levels":["error","warn"],"limit":15}'
# No-payload messages: '""' also works, but '' only works when called in-process.
& $locusBridge -Command send -ProjectPath 'E:\Source\SomeUnityProject' -MessageType status -Message ''Use pwsh.exe -File only for calls whose arguments contain no quotes and no
empty strings. Note & $locusBridge ... 2>&1 | Out-String wraps errors in
CLIXML noise; read the raw output when diagnosing.
A transient managed_reloading failure means Unity is compiling or in a domain
reload, not that the bridge is broken. Retry status every few seconds, or use
recompile to drive the reload deliberately, and only then report a problem.
execute -FollowProgress is opt-in for long async snippets. It checks
progress every 2 seconds by default and writes only meaningful status changes
as compact <locus-execute-progress>{...}</locus-execute-progress> lines
before the usual final JSON response. The compact record excludes sourceText;
do not use it for short operations or as a substitute for final output.© Misaka-Mikoto-Tech, 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 5 other files (scripts, references) in skills/locus-unity-bridge of Misaka-Mikoto-Tech/agent-skills.
Open the folder on GitHubat commit 711abaf
Locus Unity Bridge 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 |
|---|---|---|---|---|---|---|
| Locus Unity Bridge this skillMisaka-Mikoto-Tech/agent-skills | 278 | — | ~4k | Automated safety check: Pass | MIT | |
| Unity PluginTomLeeLive/openclaw-unity-plugin | 107 | — | ~5.1k | Automated safety check: Pass | Apache-2.0 | |
| Unity Skill CreateIvanMurzak/Unity-MCP | 4.4k | — | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| Windows Chat VerificationEvotecIT/DesktopManager | 107 | — | ~1.5k | Automated safety check: Pass | None | |
| Gameobject Component List AllIvanMurzak/Unity-MCP | 4.4k | — | ~846 | Automated safety check: Pass | Apache-2.0 | |
| Desktopmanager OperatorEvotecIT/DesktopManager | 107 | — | ~4.5k | Automated safety check: Pass | None |
TomLeeLive/openclaw-unity-plugin
Control Unity Editor via OpenClaw Unity Plugin. An agent skill from TomLeeLive/openclaw-unity-plugin.
IvanMurzak/Unity-MCP
Create a new skill (MCP tool) for the Unity Editor by writing a C (.cs) file that Unity compiles into the project.
EvotecIT/DesktopManager
Verify real Windows chat-app workflows through DesktopManager MCP.
IvanMurzak/Unity-MCP
List the fully-qualified C type names of every concrete UnityEngine.Component subclass available in the project.
EvotecIT/DesktopManager
Operate and validate Windows desktop state through DesktopManager using MCP first and CLI second.
IvanMurzak/Unity-MCP
Split a C file into Unity 6.5+ and pre-Unity 6.5 variants. An agent skill from IvanMurzak/Unity-MCP.
Misaka-Mikoto-Tech/agent-skills
A skill your agent uses when writing or running PowerShell on Windows, especially native programs, quoted paths, escaping, pwsh, Start-Process, file operations, or shell troubleshooting.
Misaka-Mikoto-Tech/agent-skills
Get content from Bilibili videos: official subtitles, danmaku (density/peaks/sample), comments.
Works with
Categories
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…. Locus Unity Bridge is an agent skill from Misaka-Mikoto-Tech/agent-skills. Use 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 Unity scripts must be recompiled.
Locus Unity Bridge fits situations like: an agent needs to inspect; control a real Unity Editor through Locus; especially when Unity MCP is unavailable; named-pipe discovery is needed.
Run `npx skills add Misaka-Mikoto-Tech/agent-skills --skill locus-unity-bridge -a claude-code`. Or copy the skill folder (skills/locus-unity-bridge in Misaka-Mikoto-Tech/agent-skills) into .claude/skills/locus-unity-bridge in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Misaka-Mikoto-Tech/agent-skills --skill locus-unity-bridge -a codex`. Or copy the skill folder (skills/locus-unity-bridge in Misaka-Mikoto-Tech/agent-skills) into .agents/skills/locus-unity-bridge 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 Misaka-Mikoto-Tech/agent-skills --skill locus-unity-bridge -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/locus-unity-bridge, .gemini/skills/locus-unity-bridge, .github/skills/locus-unity-bridge and .opencode/skills/locus-unity-bridge in your project.
Going by SKILL.md and its folder, Locus Unity Bridge needs PowerShell for the scripts in its folder and the command-line tools its instructions call (pwsh). Our summary lists: PowerShell.
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Locus Unity Bridge is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4k tokens (SKILL.md is roughly 16k 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 1.1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Locus Unity Bridge: Unity Plugin (TomLeeLive/openclaw-unity-plugin, 107 stars), Unity Skill Create (IvanMurzak/Unity-MCP, 4.4k stars), Windows Chat Verification (EvotecIT/DesktopManager, 107 stars) and Gameobject Component List All (IvanMurzak/Unity-MCP, 4.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Misaka-Mikoto-Tech (a GitHub user) maintains it in Misaka-Mikoto-Tech/agent-skills, which has 278 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on September 21, 2026.
Source: Misaka-Mikoto-Tech/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.