unity-api

A workflow for searching and calling Unity’s public programming interface, or API—the collection of functions exposed by Unity. It uses commands to find available methods and run them, including methods not covered by other tools.

In plain words
What is it for?
Use it to search Unity API methods, check project settings or compilation state, inspect assets, refresh the asset database, and call other public Unity methods.
Why use it?
It provides a fallback when a Unity task does not have a dedicated command, while allowing developers to inspect what API methods are available.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/bigdra50/unity-cli/unity-api
Any agent
npx skills add bigdra50/unity-cli --skill unity-api
Clone the repo
git clone --depth 1 https://github.com/bigdra50/unity-cli

Made for: Claude Code, Codex.

Per session 68 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 725 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What 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.

ModelPer sessionOnce invoked
Fable 5 $0.00068 $0.00725
Opus 5 $0.00034 $0.00362
Sonnet 5 $0.00014 $0.00145
Haiku 4.5 $0.00007 $0.00072

Measured 2d ago against content hash 46d36a4ff4fd, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

unity-api 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 2d ago.

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.

skills/unity-api/SKILL.md · 61 lines

What it actually says

unity-api

PREREQUISITE: ../unity-shared/SKILL.md(Relay Server 経由で Unity Editor が起動/アクティブであること)

skill 経由のコマンドは必ず -i <instance> を付ける (unity-shared #インスタンス指定)。--offline オプションのみ Relay 不要 = -i 不要。

メソッド検索

u -i <instance> api schema --type AssetDatabase          # 型名でフィルタ
u -i <instance> api schema --namespace UnityEditor       # 名前空間でフィルタ
u -i <instance> api schema --method Refresh              # メソッド名で検索
u api schema --offline --type PlayerSettings              # キャッシュから (Relay 不要なので -i 不要)

メソッド呼び出し

u -i <instance> api call UnityEngine.Application get_unityVersion
u -i <instance> api call UnityEditor.AssetDatabase Refresh
u -i <instance> api call UnityEditor.AssetDatabase ImportAsset --params '["Assets/Prefabs/Player.prefab", 0]'
u -i <instance> api call UnityEditor.EditorApplication ExecuteMenuItem --params '["Window/General/Console"]'

よく使うパターン

用途 コマンド
プロジェクト設定 u -i <instance> api call UnityEditor.PlayerSettings get_productName
コンパイル状態 u -i <instance> api call UnityEditor.EditorApplication get_isCompiling
アセット存在確認 u -i <instance> api call UnityEditor.AssetDatabase AssetPathExists --params '["Assets/..."]'
フォルダ作成 u -i <instance> api call UnityEditor.AssetDatabase CreateFolder --params '["Assets", "New"]'
メニュー実行 u -i <instance> api call UnityEditor.EditorApplication ExecuteMenuItem --params '["Tools/..."]'

制約

  • static メソッドのみ
  • 引数: プリミティブ, string, enum, プリミティブ配列
  • UnityEngine / UnityEditor 名前空間のみ
  • [Obsolete] メソッドは除外済み

既存コマンドとの使い分け

既存コマンド (u scene, u build 等) がある操作はそちらを使う。u api は既存コマンドがカバーしない操作のためのフォールバック。

Changes

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.

  1. 2d ago First seen · 61 lines · 68 tokens per session scan A 46d36a4ff4fd

Subscribe to this mod's changes

unity-api is a skill published in the GitHub repository bigdra50/unity-cli (39 stars, last pushed 2mo ago), licensed MIT. It adds 68 tokens to every session and 725 once invoked, about $0.0003 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.

Related

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…

ReactUnity/core · 108 tokens

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.

hatayama/unity-cli-loop · 43 tokens

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…

hatayama/unity-cli-loop · 113 tokens

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.

hatayama/unity-cli-loop · 69 tokens

uloop-screenshot

Capture Unity Editor windows or Game View rendering as PNG. Use for visual checks, debugging, documentation, or annotated UI element coordinates.

hatayama/unity-cli-loop · 31 tokens

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).

hatayama/unity-cli-loop · 62 tokens