Besty0728/Unity-Skills
AI automation skills specifically designed for Unity
UnitySkills – Unityエディタ自動化のAI駆動型REST API
何であるか – UnitySkillsはUnity 2022.3+用のプラグインで、ローカルHTTPサーバーを起動し、スキル(事前に書かれたエディタコマンド)をRESTエンドポイントとして公開します。外部のAIアシスタント(Claude Code、Antigravity、Codex、Cursor、OpenCodeなど)はこれらのエンドポイントを呼び出して、ユーザーの代わりにシーン、プレハブ、アセット、および.metaファイルの作成、変更、削除が可能です。
コアとなるアイデア
| レイヤー | 機能 |
|---|---|
| スキルカタログ | 25のアドバイス設計モジュール(例:UI、Netcode、XR、ShaderGraph)にグループ化された784の「スキル」モジュール。各スキルは小さな型付き操作で、必要なパラメータ、リスクレベル、シーンやアセットを変更するかどうかを認識しています。 |
| RESTインターフェース | POST /skill/{name}(単一)または POST /skills/batch(トランザクション)。?mode=dryRun または ?mode=plan クエリパラメータで、プロジェクトに影響を与えることなく検証エラーと影響予測をプレビューできます。 |
| 権限システム | 3つのモード – 承認、自動、バイパス – Claude Codeの権限モデルを模倣。各スキルのメタデータ(RiskLevel、MayEnterPlayModeなど)が実行を制御します。高リスク呼び出しに対してはオプションの ConfirmationToken で2段階のユーザー承認を追加できます。 |
| 監査とロールバック | すべてのリクエスト、権限付与、取り消し、ブロックされた呼び出しは Library/UnitySkillsAudit.jsonl に追加されます(1 MiBでローテート)。各ファイル変更のスナップショットは Library/UnitySkills/ にコンテンツアドレス形式で保存され、workflow_undo_task を型付きで呼び出すことで、ドメイン再読み込み後でも単一操作をロールバックできます。 |
| バッチトランザクション | POST /skills/batch は fail-fast または continueOnError に対応。以前のステップの出力を $ref で再利用でき、失敗時に自動的にロールバックします。?diff=1 フラグを付けると、バッチ全体のファイルシステム差分を返します。 |
| 長期間接続 | タイムアウト(デフォルト15分)を設定可能。ドメイン再読み込み後に自動再接続され、スクリプトの再コンパイル中にリトライヒントも提供されます。 |
| 幻覚防止ガードレール | 各スキルには「DO NOT」リストとルーティングルールが付属しており、未知のコマンドや不正なパラメータの呼び出しをエディタに到達する前に拒否します。 |
動作方法(概要)
- Unityパッケージのインストール – UnityパッケージマネージャーでGit URL(安定版、ベータ版、またはタグ付きバージョン)からインストール。パッケージは
Window → UnitySkillsパネルとLibrary/UnitySkills下のサーバーコードを追加します。 - サーバーの起動 – パネルから(またはキーボードショートカット Alt+Shift+U)起動。ドメイン再読み込み後も自動的に再起動します。
- AI端末の設定 – パネルの AI Config タブで Claude Code、Antigravity、Codex、Cursor、OpenCode を選択し、Install をクリック。インストーラーはテンプレートスキルバンドル(
unity-skills~/)を端末のスキルディレクトリにコピーし、AIエージェントを識別するagent_config.jsonを作成します。 - AIがスキルを呼び出す – 例:
POST /skill/createGameObject?mode=planにJSONボディ{ "name": "Enemy", "position": [0,1,0] }を送信。サーバーはパラメータを検証し、プラン(またはエラー)を返します。ユーザーが承認済みであれば、Unityエディタで操作が実行されます。 - 監査とロールバック – すべての呼び出しがログに記録されます。パネルからログを閲覧、フィルタリング、削除(削除自体もログに記録)できます。誤操作が発生した場合、スナップショットIDを
POST /skill/workflow_undo_taskに渡すことで、その変更のみを元に戻せます。
クイックスタートチェックリスト
| ステップ | コマンド / UI操作 |
|---|---|
| 1️⃣ インストール | Unityパッケージマネージャー → Git URLからパッケージを追加 → https://github.com/Besty0728/Unity-Skills.git?path=/SkillsForUnity(または #beta, #v1.6.0 など) |
| 2️⃣ サーバー起動 | Window → UnitySkills → Server をオンにする(または Alt+Shift+U) |
| 3️⃣ AIとリンク | 同じパネルで AI Config に移動し、端末を選択して Install をクリック |
| 4️⃣ スキルのテスト | curl -X POST http://localhost:5000/skill/createGameObject?mode=plan -d '{"name":"Test","position":[0,0,0]}' |
| 5️⃣ レビュー | パネルのギアアイコンから Audit Log を開き、リクエストとその結果を確認 |
どのような人にとって有用か
- ゲーム開発者:AIアシスタントによるレベル設計、一括アセット調整、迅速なプロトタイピングを手軽に実現したい人。
- CI/CDパイプライン:決定論的でスクリプト可能なUnity編集(例:自動プレハブ生成、パッケージバージョン更新)が必要で、完全な監査ログを保持したい人。
- ツール開発者:Unityプロジェクトを操作するカスタムAIエージェントを作成したい人。REST契約により、言語に依存しない統合が可能。
- 大規模チーム:AI生成変更に対して細かい権限制御(承認モード)とロールバックの安全性を必要とする人。
制限事項と注意点(ドキュメント参照)
- サーバーはローカルのみ。公開するには追加のセキュリティレイヤーが必要。
- ドメイン再読み込みやスクリプト再コンパイル中はRESTエンドポイントが一時的に利用不可(クライアントは短い待機後にリトライする必要あり)。
- 正式サポートはUnity 2022.3+のみ。一部の2021互換コードは残っているが、新機能は提供されない。
- 新規インストールとアップグレードでは権限のデフォルトが異なる(新規は自動、アップグレードはバイパスで従来の挙動を維持)。
- AIはスキルカタログを理解している必要がある。サポートされていない端末はカスタムインストールが必要。
詳細情報の入手先
- ドキュメント –
docs/SETUP_GUIDE.md(英語)およびdocs/SETUP_GUIDE_CN.md(中国語)で完全なインストール手順。 - リリースアセット – すべてのバージョンパッケージはGitHub Releases ページにあります。
- DeepWikiドキュメント – 自動生成ドキュメントは https://deepwiki.com/Besty0728/Unity-Skills で利用可能。
- ライセンス – MIT(
LICENSEを参照)。
結論 – UnitySkillsは、AIエージェントが安全に呼び出せる、リスクゲート、ドライランプレビュー、操作単位のロールバックを内蔵した信頼性のある、監査可能なREST駆動型自動化インターフェースとして、Unityエディタを変革します。AI補完ゲーム開発を本格的に目指す真のソフトウェアプロジェクトです。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト