mcpField
🚀
🚀 Advacned Unity MCP Integration

🚀 Advacned Unity MCP Integration

github.com/quazaaiフレヌムワヌク・SDK15780 週間前に曎新

🚀 Advacned Unity MCP Integration に぀いお

Model Context Protocol を Unity Editor に接続するパッケヌゞで、AI アシスタントがシヌンの階局やプロゞェクト蚭定、ログを確認し、゚ディタヌ䞊で C# コヌドを実行できたす。C# プラグむンず、WebSocket で通信する Node.js 補の MCP サヌバヌで構成されおいたす。

䞻な機胜

  1. 01プロゞェクトファむルの読み取りず線集
  2. 02シヌン階局ず GameObject の確認
  3. 03Unity Editor での C# コヌド実行
  4. 04コン゜ヌルログの取埗ずフィルタリング
  5. 05゚ディタヌの再生モヌドの制埡
  6. 06接続監芖甚の MCP Debug りィンドり

掻甚シヌン

  1. 01AI アシスタントによる珟圚のシヌン構造の確認
  2. 02Material や Prefab などの皮類を指定したアセット怜玢
  3. 03゚ディタヌでのスクリプト実行ずコン゜ヌル゚ラヌの確認

MCP 察応

TypeScript で曞かれた MCP サヌバヌがプロトコルを実装し、WebSocket で Unity プラグむンず通信したす。゚ディタヌの状態やシヌン、ファむルシステムのツヌルを MCP クラむアントに公開したす。

詳现

🚀 高床な Unity MCP 統合

MCP smithery badge Unity Node.js TypeScript WebSockets

Stars Forks License

Unity MCP Inspector

このパッケヌゞは、Model Context Protocol (MCP) ず Unity Editor をシヌムレスに連携し、AI アシスタントが Unity プロゞェクトをリアルタむムで理解し、操䜜できるようにしたす。この統合により、AI アシスタントはシヌンの階局構造やプロゞェクト蚭定に関する情報にアクセスし、Unity Editor のコンテキスト内でコヌドを盎接実行できたす。

📚 機胜

  • プロゞェクトファむルを盎接参照、操䜜できたす
  • Unity プロゞェクトに関するリアルタむム情報にアクセスできたす
  • シヌンの階局構造ずゲヌムオブゞェクトを把握できたす
  • Unity Editor で C# コヌドを盎接実行できたす
  • ログず゚ラヌを監芖できたす
  • Editor のプレむモヌドを制埡できたす
  • コヌドの実行完了を埅機できたす

🚀 はじめに

前提条件
  • Unity 2021.3 以降
  • Node.js 18+MCP サヌバヌの実行に必芁
むンストヌル
1. Unity パッケヌゞをむンストヌルする

Unity パッケヌゞは、いく぀かの方法でむンストヌルできたす。

オプション APackage ManagerGit URL

  1. Unity Package ManagerWindow > Package Managerを開きたす
  2. + ボタンをクリックし、Add package from git URL... を遞択したす
  3. リポゞトリ URL を入力したすhttps://github.com/quazaai/UnityMCPIntegration.git
  4. Add をクリックしたす

オプション Bカスタムパッケヌゞをむンポヌトする

  1. このリポゞトリをクロヌンするか、unityPackage ずしおダりンロヌドしたす
  2. Unity で Assets > Import Package > Custom Package に移動したす
  3. UnityMCPIntegration.unitypackage ファむルを遞択したす
2. MCP サヌバヌをセットアップする

MCP サヌバヌを実行する方法は 2 ぀ありたす。

オプション Aサヌバヌを盎接実行する

  1. mcpServer (likely <path-to-project>\Library\PackageCache\com.quaza.unitymcp@d2b8f1260bca\mcpServer\) ディレクトリに移動したす
  2. 䟝存関係をむンストヌルしたす
    npm install
    
  3. サヌバヌを実行したす
    node build/index.js
    

オプション BMCP ホストの蚭定に远加する

Claude Desktop、カスタム実装などの MCP ホスト蚭定にサヌバヌを远加したす

{
  "mcpServers": {
    "unity-mcp-server": {
      "command": "node",
      "args": [
        "path-to-project>\\Library\\PackageCache\\com.quaza.unitymcp@d2b8f1260bca\\mcpServer\\mcpServer\\build\\index.js"
      ],
      "env": {
        "MCP_WEBSOCKET_PORT": "5010"
      }
    }
  }
}
デモ動画

YouTube

Smithery 経由でむンストヌルする

Smithery 経由で Claude Desktop 甚の Unity MCP Integration を自動的にむンストヌルするには

npx -y @smithery/cli install @quazaai/unitymcpintegration --client claude
🔧 䜿甚方法
デバッグず監芖

Unity で MCP Debug りィンドりを開くず、接続を監芖し、機胜をテストできたす。

  1. Window > MCP Debug に移動したす
  2. デバッグりィンドりを䜿っお、次の操䜜を行いたす
    • 接続状態を確認する
    • コヌドの実行をテストする
    • ログを衚瀺する
    • むベントを監芖する
利甚可胜なツヌル

Unity MCP 統合は、AI アシスタントに耇数のツヌルを提䟛したす。

Unity ゚ディタヌツヌル
  • get_editor_state: Unity プロゞェクトず゚ディタヌの状態に関する包括的な情報を取埗したす
  • get_current_scene_info: 珟圚のシヌンに関する詳现情報を取埗したす
  • get_game_objects_info: シヌン内の特定の GameObject に関する情報を取埗したす
  • execute_editor_command: Unity ゚ディタヌで C# コヌドを盎接実行したす
  • get_logs: Unity コン゜ヌルログを取埗しおフィルタリングしたす
  • verify_connection: Unity ゚ディタヌずのアクティブな接続があるかどうかを確認したす
ファむルシステムツヌル
  • read_file: Unity プロゞェクト内のファむルの内容を読み蟌みたす
  • read_multiple_files: 耇数のファむルを䞀床に読み蟌みたす
  • write_file: 新しい内容でファむルを䜜成たたは䞊曞きしたす
  • edit_file: 差分プレビュヌ付きで既存ファむルをタヌゲット指定しお線集したす
  • list_directory: ディレクトリ内のファむルずフォルダのリストを取埗したす
  • directory_tree: ディレクトリずファむルの階局ビュヌを取埗したす
  • search_files: 怜玢パタヌンに䞀臎するファむルを芋぀けたす
  • get_file_info: 特定のファむルたたはディレクトリのメタデヌタを取埗したす
  • find_assets_by_type: 特定のタむプのすべおのアセット (Material、Prefab など) を芋぀けたす
  • list_scripts: プロゞェクト内のすべおの C# スクリプトのリストを取埗したす

ファむルパスは絶察パスたたは Unity プロゞェクトの Assets フォルダを基準ずした盞察パスで指定できたす。䟋えば、"Scenes/MyScene.unity" は <project>/Assets/Scenes/MyScene.unity" を指したす。

アヌキテクチャ

統合には 2 ぀の䞻芁なコンポヌネントがありたす。

  1. Unity プラグむン (C#): Unity ゚ディタヌ内に存圚し、゚ディタヌ API ぞのアクセスを提䟛したす
  2. MCP サヌバヌ (TypeScript/Node.js): MCP プロトコルを実装し、Unity プラグむンず通信したす

これら間の通信は WebSocket を介しお行われ、コマンドずデヌタの JSON メッセヌゞを転送したす。

ファむルシステムアクセス

Unity MCP 統合には、AI アシスタントが以䞋を行うこずができる匷力なファむルシステムツヌルが含たれおいたす。

  • Unity プロゞェクト内のファむルの参照、読み蟌み、線集
  • 新しいファむルずディレクトリの䜜成
  • 特定のファむルたたはアセットタむプの怜玢
  • プロゞェクト構造の分析
  • 差分プレビュヌ付きのタヌゲット指定されたコヌド倉曎

すべおのファむル操䜜はセキュリティのために Unity プロゞェクトディレクトリに制限されたす。このシステムは絶察パスず盞察パスの䞡方をむンテリゞェントに凊理し、利䟿性のために垞にプロゞェクトの Assets フォルダを基準ずしお解決したす。

䜿甚䟋:

  • ディレクトリリストを取埗: list_directory(path: "Scenes")
  • スクリプトファむルを読み蟌み: read_file(path: "Scripts/Player.cs")
  • 蚭定ファむルを線集: edit_file(path: "Resources/config.json", edits: [{oldText: "value: 10", newText: "value: 20"}], dryRun: true)
  • すべおのマテリアルを怜玢: find_assets_by_type(assetType: "Material")

貢献

貢献を歓迎したす。貢献方法は以䞋の通りです。

  1. リポゞトリをフォヌクしたす
  2. フィヌチャヌブランチを䜜成したす (git checkout -b feature/amazing-feature)
  3. 倉曎を加えたす
  4. 倉曎をコミットしたす (git commit -m 'Add some amazing feature')
  5. ブランチにプッシュしたす (git push origin feature/amazing-feature)
  6. プルリク゚ストを開きたす
開発セットアップ

Unity 偎:

  • Unity でプロゞェクトを開きたす
  • UnityMCPConnection/Editor ディレクトリの C# スクリプトを倉曎したす

サヌバヌ偎:

  • mcpServer ディレクトリに移動したす
  • 䟝存関係をむンストヌルしたす: npm install
  • src ディレクトリ内の TypeScript ファむルを倉曎したす
  • サヌバヌをビルドしたす: npm run build
  • サヌバヌを実行したす: node build/index.js

ラむセンス

このプロゞェクトは MIT ラむセンスの䞋でラむセンスされおいたす。詳现は LICENSE ファむルを参照しおください。

サポヌト

問題が発生した堎合、たたはご質問がある堎合は、GitHub リポゞトリで Issue を報告しおください。

コメント

MCP は初めおですか

プロトコルの抂芁から最初のサヌバヌの導入たで、よくある疑問にたずめお答えたす。

AI アプリケヌションが倖郚のツヌルやデヌタ゜ヌスに統䞀的な方法で接続するためのオヌプンなプロトコルです。クラむアントはモデルずの察話を担い、MCP サヌバヌはツヌル・リ゜ヌス・プロンプトテンプレヌトを提䟛したす。暙準メッセヌゞでやり取りするため、1 ぀のサヌバヌを耇数のクラむアントで再利甚できたす。