Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/bigdra50/unity-cli/unity-sharednpx skills add bigdra50/unity-cli --skill unity-sharedgit clone --depth 1 https://github.com/bigdra50/unity-cliWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00044 | $0.01062 |
| Opus 5 | $0.00022 | $0.00531 |
| Sonnet 5 | $0.00009 | $0.00212 |
| Haiku 4.5 | $0.00004 | $0.00106 |
Grade A, and why
unity-shared scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
unity-shared
全 unity-* スキルが従う共通ルール。
インスタンス指定 (必須)
unity-* スキル経由で u コマンドを呼ぶ際は 必ず -i <instance> を付ける。default インスタンスに依存しない。
u -i <instance> refresh # OK
u refresh # NG (skill 経由では使わない)
<instance> はユーザーから渡される or 親セッションが指定する値で置き換える。u instances で接続中 Unity 一覧を確認できる。本ドキュメント以下のサンプルでは <instance> をそのまま使うが、実行時は具体名 (例: TestProject) に置換する。
理由: 複数 Unity 接続環境で誤ったインスタンスへコマンドを送るリスクと、subagent 間の挙動を default 依存にしないため。
接続確認
u instances # 接続中 Unity 一覧
u -i <instance> state # 特定エディタの状態
接続不可時: unity-relay --port 6500 で Relay 起動。
Quick Verify
コード変更後に毎回実行する検証シーケンス。順序厳守 (clear は refresh の前に置く。後にすると refresh の診断ログを消してしまう)。
# 1. 既存ログをクリア (refresh の診断を残すため refresh の前)
u -i <instance> console clear
# 2. AssetDatabase リフレッシュ (コンパイルトリガー)
u -i <instance> refresh
# 3. isCompiling が false になるまでポーリング (2秒間隔, 最大30秒)
for _ in $(seq 1 15); do
u -i <instance> state --json | jq -e '.isCompiling == false' >/dev/null && break
sleep 2
done
# 4. Error/Warning 取得 (--count は deprecated. head -N を使う)
u -i <instance> console get -l E,W | head -50
u state --json の出力例 (抜粋, キーはトップレベル):
{"isCompiling": false, "isPlaying": false, "isPaused": false}
- Error あり → 修正して再実行 (最大3回)
- Warning のみ → 報告して続行
注記: 空 (0 行) は「クリーン」だが「Warning が無い」とは限らない
Unity はインクリメンタルコンパイルのため、ソース未変更で refresh を呼んでも再コンパイルは走らず、過去の Warning は再出力されない。console clear 後に空が返っても以下のいずれかを意味する:
- ソース変更があり再コンパイルが走り、エラー/警告がない (本当のクリーン)
- ソース未変更で再コンパイルがスキップされ、過去の警告が出力されないだけ
直前にソース編集があった文脈なら「クリーン」扱いで OK。過去の警告を確実に確認したい場合は対象ファイルの touch (touch Assets/.../Foo.cs) で mtime を更新してから refresh するか、Library/ScriptAssemblies/ をクリアする。
フォールバック順
CLI 非対応の操作を行う場合:
1. u -i <instance> <既存コマンド> 最優先
2. u -i <instance> api call Type Method 5,243 メソッド対応
3. YAML 直接編集 最終手段 (.meta インポート設定等)
セキュリティ
u api callは UnityEngine / UnityEditor のみ許可- 破壊的操作の実行前にユーザー確認
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 94 lines · 44 tokens per session scan A d93432e7d343
unity-shared is a skill published in the GitHub repository bigdra50/unity-cli (39 stars, last pushed 2mo ago), licensed MIT. It adds 44 tokens to every session and 1,062 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
unity
Compile, test, and drive Unity for this repo's C# packages (unity/core, jint, quickjs, clearscript) and the two Unity projects (tests/, kitchen-sink/). Use when a change touches C# under unity/, when Unity test results are needed, when a rendering snapshot has to be checked or regenerated, or when the app has to be…
uloop-execute-dynamic-code
Execute C# with Unity APIs when existing uloop tools cannot inspect or edit enough. Use for reachable scene/component state, scene/prefab/menu automation, and PlayMode checks.
uloop-simulate-mouse-input
Simulate Mouse.current input in PlayMode through Unity Input System. Use for gameplay mouse clicks, long-press (LongPress), movement delta (MoveDelta/SmoothDelta), or scroll. Use --dry-run to check what a Game View coordinate hits in 3D physics before clicking (works in EditMode; no Input System required). Use…
uloop-pause-point
Pauses Unity playback at any source file:line without editing code or recompiling, and returns a snapshot of the locals, parameters, and instance fields at that exact frame. Use for bug investigation, PlayMode/E2E verification, checking variable values at a specific frame, or confirming that a code path executed.
uloop-screenshot
Capture Unity Editor windows or Game View rendering as PNG. Use for visual checks, debugging, documentation, or annotated UI element coordinates.
uloop-simulate-keyboard
Simulate keyboard input in PlayMode through Unity Input System. Use for key presses, holds (via Press --duration or KeyDown/KeyUp), releases, and game controls such as WASD or Space. Requires the Input System package (com.unity.inputsystem).