/ 目錄 / 演練場 / Unity-MCP
● 社群 IvanMurzak ⚡ 即開即用

Unity-MCP

作者 IvanMurzak · IvanMurzak/Unity-MCP

Unity 的完整 AI 開發測試迴圈,包含 100+ 工具、Roslyn 支援的 C# 執行,以及快速安裝 CLI。

IvanMurzak/Unity-MCP 是一個 Unity 外掛 + MCP 伺服器,暴露廣泛的介面(場景、遊戲物件、元件、預製體、材料、套件、螢幕截圖、測試、Roslyn C# 執行)給任何 MCP 用戶端。強調 token 效率和原始工具之上的 AI 技能層。

為什麼要用

核心特性

即時演示

實際使用效果

unity-2.replay ▶ 就緒
0/0

安裝

選擇你的客戶端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "unity-2": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/IvanMurzak/Unity-MCP"
      ],
      "_inferred": true
    }
  }
}

開啟 Claude Desktop → Settings → Developer → Edit Config。儲存後重啟應用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "unity-2": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/IvanMurzak/Unity-MCP"
      ],
      "_inferred": true
    }
  }
}

Cursor 使用與 Claude Desktop 相同的 mcpServers 格式。專案級設定優先於全域。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "unity-2": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/IvanMurzak/Unity-MCP"
      ],
      "_inferred": true
    }
  }
}

點擊 Cline 側欄中的 MCP Servers 圖示,然後選 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "unity-2": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/IvanMurzak/Unity-MCP"
      ],
      "_inferred": true
    }
  }
}

格式與 Claude Desktop 相同。重啟 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "unity-2",
      "command": "TODO",
      "args": [
        "See README: https://github.com/IvanMurzak/Unity-MCP"
      ]
    }
  ]
}

Continue 使用伺服器物件陣列,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "unity-2": {
      "command": {
        "path": "TODO",
        "args": [
          "See README: https://github.com/IvanMurzak/Unity-MCP"
        ]
      }
    }
  }
}

加入 context_servers。Zed 儲存後熱重載。

claude mcp add unity-2 -- TODO 'See README: https://github.com/IvanMurzak/Unity-MCP'

一行命令搞定。用 claude mcp list 驗證,claude mcp remove 移除。

使用場景

實戰用法: Unity-MCP

如何用單個提示語批量處理匯入的資產

👤 Unity 技術美術師 ⏱ ~25 min intermediate

何時使用: 你有 200 個新紋理,想要統一的匯入設定、mip 貼圖和圖集放置。

前置條件
  • Unity 專案已開啟,外掛已安裝 — unity-mcp-cli install-plugin ./MyUnityProject 或匯入 .unitypackage
  • 已設定 MCP 用戶端 — 在 Claude Desktop 或 Cursor 中指向 CLI 印出的本地 MCP 伺服器
步驟
  1. 稽核目前設定
    列出 Assets/Textures/UI 中的每個紋理。顯示按使用的值分組的目前 TextureImporter 設定。✓ 已複製
    → 按設定分組 — 大部分一致,異常值已標記
  2. 套用政策
    對所有設定 compression=HighQuality、filter=Bilinear、mipmaps=false。重新匯入。✓ 已複製
    → 進度日誌 + 最終一致狀態
  3. 視覺驗證
    從預設攝影機擷取場景 MainMenu 的螢幕截圖 — 確認沒有任何破損。✓ 已複製
    → 已傳回螢幕截圖,理智檢查通過

結果: 資料夾中的統一匯入設定 + 螢幕截圖追蹤。

注意事項
  • 重新匯入會阻止編輯器網域重新載入 — 先保存場景;在重新匯入完成前不要發出不相關的命令
搭配使用: filesystem

如何在編輯器中執行一次性 C# 程式碼片段,而不用寫指令碼

👤 進行一次性清理的 Unity 開發人員 ⏱ ~15 min advanced

何時使用: 你想逐一檢查每個預製體並修復破損的參考 — 只需一次。

步驟
  1. 描述程式碼片段
    透過 Roslyn 執行 C#:逐一檢查 Assets/Prefabs 中的每個預製體,找到 MissingScript 元件,列出預製體 + 遺失的指令碼 guid。✓ 已複製
    → 不良預製體的報告
  2. 套用修正
    現在移除那些 MissingScript 元件並保存每個預製體。✓ 已複製
    → 已更新的預製體計數

結果: 沒有遺失指令碼警告的專案。

注意事項
  • Roslyn 執行具有完整編輯器權限 — 不良的程式碼片段可能會損壞專案 — 執行前提交到 git;執行前檢閱程式碼片段
搭配使用: github

如何透過螢幕截圖分類視覺回歸

👤 QA、獨立開發人員 ⏱ ~10 min beginner

何時使用: 測試員說「選單看起來有問題」,你想快速獲得基準映像。

步驟
  1. 開啟可疑場景
    開啟場景 MainMenu,從 UI 攝影機以 1920x1080 解析度擷取螢幕截圖。✓ 已複製
    → 已傳回螢幕截圖檔案路徑
  2. 與參考進行比較
    以下是黃金映像 [附加]。描述差異。✓ 已複製
    → 特定標註(偏移、顏色、遺失的元素)

結果: 附加影像證據的錯誤報告。

搭配使用: github

組合

與其他 MCP 搭配,撬動十倍槓桿

unity-2 + github

從聊天自動化重構 + 提交 + PR

將 PlayerController.Speed 欄位重新命名為 MoveSpeed(到處),執行測試、提交並開啟 PR。✓ 已複製
unity-2 + filesystem

將外部 3D 模型匯入專案

將 ~/Downloads/kenney/ 中的每個 .fbx 移至 Assets/Models/,並將其設定為唯讀。✓ 已複製

工具

此 MCP 暴露的能力

工具輸入參數何時呼叫成本
scene_open path: str 在檢查或編輯前載入場景 free
gameobject_find query: str 定位物件 free
component_add target, type, values? 附加元件 free
script_create path, body 新建 C# 檔案 free
csharp_execute code: str 一次性編輯器自動化 free
test_run mode: 'Edit'|'Play', filter? 執行單位/遊戲測試 free
screenshot camera?: str, resolution?: {w,h} 視覺驗證 free
console_read since_ms? 變更後檢查錯誤 free

成本與限制

運行它的成本

API 配額
無遠端 API — 全部本地
每次呼叫 Token 數
場景清單可能變大;用篩選條件上限
費用
免費、開源
提示
優先使用狹窄查詢 (gameobject_find 'Enemy*'),而不是完整的階層轉儲。

安全

權限、密鑰、影響範圍

最小權限: 本地檔案系統寫入到專案
憑證儲存: 無 — 僅限本地主機
資料出站: 本地主機。你的 LLM 提供者接收工具傳回的任何場景/指令碼內容。
切勿授予: 不要將 MCP HTTP 連接埠暴露給非迴路介面

故障排查

常見錯誤與修復

專案路徑包含空格:工具失敗

將專案移至沒有空格的路徑。這是已記錄的限制。

CLI 找不到 Unity

將 UNITY_EDITOR_PATH 環境變數設定為編輯器二進位檔。

驗證: $UNITY_EDITOR_PATH -version
csharp_execute 拋出「找不到類型」

執行前 Unity 必須成功編譯。先修復紅色主控台並重新整理。

替代方案

Unity-MCP 對比其他方案

替代方案何時用它替代權衡
MCP for Unity (CoplayDev)你想要最受歡迎的選項,具有大量工具介面沒有基於 Roslyn 的任意 C# 執行
mcp-unity (CoderGamester)更簡單的介面,專注於場景/測試更少的進階工具

更多

資源

📖 閱讀 GitHub 上的官方 README

🐙 查看未解決的 issue

🔍 瀏覽全部 400+ MCP 伺服器和 Skills