本頁面由英文機器翻譯而成。閱讀英文原文。

unity-mcp-cli 參考

unity-mcp-cli 指令參考:安裝 Unity MCP、登入、寫入 AI agent 設定、以 headless 模式開啟 Unity,並從終端機執行工具與 C#。

更新於 2026年11月4日 以 Markdown 檢視

unity-mcp-cli 是 Unity MCP 的命令列工具。它會安裝 Unity 與外掛、讓你登入 ai-game.dev、寫入 AI agent 設定、開啟與關閉編輯器,並可從終端機或 CI 指令碼呼叫 MCP 工具或在編輯器中執行 C#。本頁列出 1.6.2 版的所有指令與旗標。

安裝

npm install -g unity-mcp-cli

或者不安裝,直接執行任何指令:npx unity-mcp-cli <command>。它需要 Node.js ^20.19.0 或 >=22.12.0,可在 Windows、macOS 與 Linux 上運作。管理編輯器的指令會使用 Unity Hub CLI;若缺少 Unity Hub,CLI 會自動安裝。

全域選項,所有指令皆可使用:

選項說明
-v, --verbose詳細的診斷輸出
-V, --version顯示 CLI 版本
--help該指令的說明

在非互動式終端機(CI)中,CLI 會自動停用 spinner 與顏色。大多數需要專案路徑的指令,都接受以位置參數或 --path 指定,預設為目前資料夾。

典型工作流程

unity-mcp-cli install-plugin ./MyGame
unity-mcp-cli login
unity-mcp-cli setup-mcp claude-code ./MyGame
unity-mcp-cli open ./MyGame
unity-mcp-cli wait-for-ready ./MyGame
unity-mcp-cli run-tool tests-run ./MyGame --input '{"testMode":"EditMode"}'
unity-mcp-cli close ./MyGame

專案設定指令

install-unity

透過 Unity Hub 安裝 Unity 編輯器。不加參數時會安裝最新的穩定版本。

參數 / 選項說明
[version]編輯器版本,例如 6000.3.1f1
--path <path>從既有專案讀取所需的版本

create-project

使用編輯器建立新的 Unity 專案:unity-mcp-cli create-project ./MyGame --unity 6000.3.1f1。

參數 / 選項說明
[path]專案建立位置(必填,或改用 --path)
--unity <version>編輯器版本(預設:已安裝的最高版本)

install-plugin

將 OpenUPM scoped registry 與 com.ivanmurzak.unity.mcp 加入 Packages/manifest.json。絕不會降級已安裝的較高版本。該資料夾必須是 Unity 專案。

選項說明
[path]Unity 專案(預設:目前資料夾)
--plugin-version <version>要安裝的版本(預設:OpenUPM 上的最新版)
--with-server同時把這台機器的 gamedev-mcp-server 執行檔下載到 CLI 自己的資料夾
--server-version <version>--with-server 使用的伺服器版本
--server-source <path-or-url>從本機 zip 或 URL 安裝伺服器(離線或 CI 使用;會跳過 checksum 驗證)
--enroll <code>兌換團隊註冊碼,取得綁定到此專案的外掛憑證
--enroll-stdin從 stdin 讀取註冊碼,避免留在 shell 歷程記錄中
--yes自動確認提示,例如 --enroll 期間的帳號切換

install-extension

將官方擴充套件安裝到 Packages/manifest.json。請參閱擴充套件。

參數 / 選項說明
[id]目錄名稱(Tilemap)或套件 id(com.ivanmurzak.unity.mcp.tilemap)
[path]Unity 專案(預設:目前資料夾)
--extension-version <version>要安裝的版本(預設:OpenUPM 上的最新版)
--list列出可安裝的擴充套件後結束(不需要專案或網路)

remove-plugin

從 Packages/manifest.json 移除 com.ivanmurzak.unity.mcp,並保留 scoped registries。需要 [path](必填,或改用 --path)。

configure

在 UserSettings/AI-Game-Developer-Config.json 中顯示或隱藏工具、提示與資源。隱藏的項目在以名稱呼叫時仍會執行。

選項說明
[path]Unity 專案(必填,或改用 --path)
--list印出目前設定後結束
--enable-tools <names>、--disable-tools <names>顯示或隱藏特定工具(以逗號分隔)
--enable-all-tools、--disable-all-tools顯示或隱藏所有工具
--enable-prompts <names>、--disable-prompts <names>提示的部分亦同
--enable-all-prompts、--disable-all-prompts所有提示
--enable-resources <names>、--disable-resources <names>資源的部分亦同
--enable-all-resources、--disable-all-resources所有資源
--agent <id>改為透過受管理伺服器的設定工具寫入 AI agent 設定
--url <url>與 --agent 一起傳入的伺服器 URL

bootstrap-local

將專案設定固定為 Custom(本機)模式,並使用指定的伺服器 URL 與 token。可重複執行(idempotent)。

選項說明
[path]Unity 專案(預設:目前資料夾)
--url <url>本機 MCP 伺服器 URL(必填)
--token <token>本機 bearer token(必填)
--dry-run只回報將會變更的內容,不實際寫入

登入與 AI agent 指令

login

使用瀏覽器 OAuth 裝置流程登入 ai-game.dev,並將憑證儲存在 ~/.ai-game-dev/credentials.json。Editor 外掛與桌面應用程式共用同一份憑證。若您已登入,則會提早結束。

選項說明
--project <path>將憑證存放於 <path>/.ai-game-dev/,而非整台機器的存放區
--force即使已有憑證也重新登入
--tools-only僅授權引擎工具,供 CI 執行器使用;不會儲存 agent 憑證
--yes不需提示即確認切換帳號

setup-mcp

寫入 AI agent 的 MCP 設定,輸出與 Editor 視窗中的 Configure 相同。預設會將 URL 固定到此專案(https://ai-game.dev/mcp/p/<pin>),而 Cloud HTTP 設定在您已登入時會帶上此專案的 key。請參閱 Connecting AI clients。

選項說明
[agent-id]要設定的 agent,例如 claude-code、cursor、codex
[path]Unity 專案(預設:目前資料夾)
--transport <transport>http(預設)或 stdio
--url <url>覆寫 http 使用的伺服器 URL
--token <token>改用此 Personal Access Token 而非專案 key 寫入
--oauth只寫入 URL 設定;由 agent 以自己的 OAuth 登入
--regenerate-key產生新的專案 key、重寫設定並撤銷舊 key
--no-pin使用未固定的 https://ai-game.dev/mcp 端點
--list列出 agent id 及其設定路徑

setup-skills

透過執行中的 Editor 產生 agent 的技能檔案。Unity 必須開啟且外掛已連線。

選項說明
[agent-id]要為其產生技能檔案的 agent
[path]Unity 專案(預設:目前資料夾)
--url <url>、--token <token>覆寫伺服器 URL 與 token
--timeout <ms>請求逾時(預設 60000)
--list列出 agent 以及其是否支援技能

Editor 指令

open

在 Unity Editor 中開啟專案,並依指定選項設定外掛的連線環境變數。Editor 會以分離模式啟動。

選項說明
[path]Unity 專案(預設:目前資料夾)
--unity <version>Editor 版本(預設:專案版本,其次為已安裝的最高版本)
--editor-path <path>明確指定 Editor 執行檔;略過 Unity Hub 探索
--no-connect開啟時不設定 MCP 連線變數
--url <url>伺服器 URL(設定 UNITY_MCP_HOST,即 UNITY_MCP_CLOUD_URL 的別名)
--keep-connected強制開啟連線
--token <token>本機伺服器 token(設定 UNITY_MCP_TOKEN)
--auth <option>授權模式(設定 UNITY_MCP_AUTH_OPTION);此版本接受 none 或 required
--tools <names>要顯示的工具,以逗號分隔(設定 UNITY_MCP_TOOLS)
--transport <method>streamableHttp 或 stdio
--start-server <value>本機伺服器是否自動啟動,true 或 false
--headless以無視窗模式啟動(-batchmode,保留圖形)並等待 MCP 伺服器回應
--idle-timeout <seconds>若經過這麼多秒都沒有工具呼叫就結束,並先儲存已變更的場景與資源
--ready-timeout <ms>搭配 --headless 時要等待多久(預設 300000)
--no-auto-dismiss-launch-errors不要自動點擊 Unity「啟動時編譯錯誤」對話框上的 Ignore
--launch-dismiss-timeout-ms <ms>監看該對話框的總時間(預設 30000)
--launch-dismiss-poll-interval-ms <ms>該對話框的輪詢間隔(預設 1500)

要關閉啟動錯誤對話框,在 macOS 上需為終端機開啟「輔助使用」權限,在 Linux X11 上則需要 xdotool(不支援 Wayland)。

close

以正常方式關閉專案的 Editor:unity-mcp-cli close ./MyGame --timeout 60 --force。關閉未在執行的 Editor 也會成功。

選項說明
[path]Unity 專案(預設:目前資料夾)
--timeout <seconds>等待正常結束的時間(預設 30)
--force若屆時仍未結束則強制終止 Editor
--owned-only僅關閉由 CLI 啟動的 Editor(exec、open --headless)

wait-for-ready

輪詢直到 Editor 與 MCP 伺服器可接受工具呼叫。選項:[path]、--url、--token、--timeout <ms>(預設 120000)與 --interval <ms>(預設 3000)。

status

顯示 Unity 是否執行中、本機 MCP 伺服器是否有回應,以及設定的伺服器(例如雲端)是否可連線。選項:[path]、--url、--token、--timeout <ms>(預設 5000)。

工具指令

run-tool

透過伺服器的 HTTP API 呼叫 MCP 工具。除非另行覆寫,URL 與 token 會取自專案設定(Custom 或 Cloud 模式)。

unity-mcp-cli run-tool rql-query ./MyGame --input '{"query":"objects | where name == \"Player\" | select path name active"}'
unity-mcp-cli run-tool unity-tool-list ./MyGame --raw
選項說明
<tool-name>要呼叫的工具
[path]Unity 專案,用於讀取設定與偵測連接埠
--url <url>、--token <token>可略過設定檔的覆寫選項
--input <json>、--input-file <file>工具引數(預設 {})
--raw原始 JSON 輸出
--timeout <ms>請求逾時(預設 60000)

run-system-tool

選項與 run-tool 相同,用於未暴露給 MCP 客戶端的系統工具(例如技能產生與工作階段控制)。

exec

透過 script-execute 在編輯器中執行 C# 並印出結果。若有已開啟的編輯器就直接使用;否則會啟動一個無介面的編輯器,讓它保持待命以供後續呼叫,並在 --idle 秒後結束。

unity-mcp-cli exec 'GameObject.FindObjectsOfType<Camera>().Length'
echo 'Application.unityVersion' | unity-mcp-cli exec
選項說明
[code]C# 陳述式;最後一個運算式即為結果(或使用 -f 或 stdin)
--path <path>Unity 專案(預設:目前資料夾)
-f, --file <file>從檔案讀取程式碼(- 代表 stdin)
--using <namespace>額外的命名空間,可重複指定
--include <path>.ai-game-dev/snippets 下的輔助 .cs 檔案或資料夾,可重複指定
--window以視窗模式啟動編輯器,而非無介面模式
--idle <seconds>由 exec 啟動的編輯器在閒置多久後結束(預設 300,0 表示永不結束)
--ready-timeout <ms>等待編輯器的時間(預設 300000)
--timeout <ms>工具呼叫逾時
--raw原始工具回應 JSON
--url <url>、--token <token>覆寫

編譯錯誤會以代碼 1 結束,並指出發生錯誤的行數。

維護

update

將 CLI 更新到最新的 npm 版本。--check 只會檢查,若有可用更新則以代碼 2 結束。在 npx 下沒有東西需要更新。

程式庫用法

此套件也匯出型別化的 Node.js API(installPlugin、removePlugin、configure、setupMcp、installExtension 等),會回傳結果物件而非直接印出。請參閱套件的 README on npm。