unity-editor
Remote control Unity Editor via CLI using unityctl. Use when working with Unity projects to launch/stop editor, enter/exit play mode, compile scripts, view logs, load scenes, run tests, capture screenshots, or execute C# code for debugging. Activate when user mentions Unity, play mode, compilation, or needs to interact with a running Unity Editor.
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o unity-editor.zip https://jpskill.com/download/18700.zip && unzip -o unity-editor.zip && rm unity-editor.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/18700.zip -OutFile "$d\unity-editor.zip"; Expand-Archive "$d\unity-editor.zip" -DestinationPath $d -Force; ri "$d\unity-editor.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
unity-editor.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
unity-editorフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Claude が読む原文 SKILL.md(中身を展開)
この本文は AI(Claude)が読むための原文(英語または中国語)です。日本語訳は順次追加中。
unityctl - Unity Editor Remote Control
Control a running Unity Editor from the command line without batch mode.
Instructions
Setup (Required First)
- Start the bridge daemon:
unityctl bridge start - Launch Unity:
unityctl editor runor manually open the project in Unity Editor - Verify connection:
unityctl status
Refresh Assets After Script Changes
After modifying C# scripts, refresh assets to compile:
unityctl asset refresh
Returns compilation errors directly in the output (non-zero exit code on failure). Fix errors and re-run until compilation succeeds before entering play mode.
Common Commands
Status & Bridge:
unityctl status # Check Unity running, bridge, and connection status
unityctl bridge start # Start bridge daemon (runs in background)
unityctl bridge stop # Stop bridge
Editor Lifecycle:
unityctl editor run # Launch Unity Editor (auto-detects version)
unityctl editor stop # Stop running Unity Editor
Play Mode:
unityctl play enter # Enter play mode
unityctl play exit # Exit play mode
Logs:
unityctl logs # Show all logs since last clear (auto-clears on play enter and compile)
unityctl logs -n 50 # Limit to last 50 entries
unityctl logs --stack # Show stack traces for log entries
unityctl logs --full # Show full history (ignore clear boundary)
Scenes:
unityctl scene list # List scenes
unityctl scene load Assets/Scenes/Main.unity # Load scene
Testing:
unityctl test run # Run edit mode tests
unityctl test run --mode playmode # Play mode tests
Screenshots:
unityctl screenshot capture # Capture screenshot
Script Execution (Debugging Power Tool)
Execute arbitrary C# in the running editor via Roslyn. Invaluable for debugging and automation.
// tmp/get-version.cs
using UnityEngine;
public class Script
{
public static object Main()
{
return Application.version;
}
}
unityctl script execute -f tmp/get-version.cs
You can also execute code directly with -c:
unityctl script execute -c "using UnityEngine; public class Script { public static object Main() { return Application.version; } }"
Scripts must define a class with a public static object Main() method. The return value is JSON-serialized.
Getting Help
unityctl --help # List all commands
unityctl <command> --help # Command-specific help
Examples
Workflow: Edit script, compile, and test:
# After editing C# files...
unityctl asset refresh # Returns compilation errors if any
unityctl play enter
unityctl logs # Check runtime logs (shows all since play enter)
unityctl play exit
Debug: Find all GameObjects in scene:
// tmp/find-objects.cs
using UnityEngine;
public class Script
{
public static object Main()
{
return GameObject.FindObjectsOfType<GameObject>().Length;
}
}
unityctl script execute -f tmp/find-objects.cs
Debug: Inspect Player position:
// tmp/find-player.cs
using UnityEngine;
public class Script
{
public static object Main()
{
var go = GameObject.Find("Player");
return go?.transform.position.ToString() ?? "not found";
}
}
unityctl script execute -f tmp/find-player.cs
Debug: Log message to Unity console:
// tmp/log-message.cs
using UnityEngine;
public class Script
{
public static object Main()
{
Debug.Log("Hello from CLI");
return "logged";
}
}
unityctl script execute -f tmp/log-message.cs
Best Practices
- Run
unityctl statusto check overall project status before running commands - Always run
unityctl asset refreshafter modifying C# files before entering play mode - For script execution, write scripts to
tmp/<scriptname>.csand execute with-f
Troubleshooting
Run unityctl status first to diagnose issues.
| Problem | Solution |
|---|---|
| Bridge not responding | unityctl bridge stop then unityctl bridge start |
| Editor not connected to newly started bridge | Normal, editor plugin uses exponential backoff, up to 30 seconds |
| Connection lost after compile | Normal - domain reload. Auto-reconnects. |
| "Project not found" | Run from project directory or use --project flag |
| Editor not found | Use --unity-path to specify Unity executable |