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

工具

27 個內建 Unreal MCP 工具:RQL、Blueprints、C++ 原始碼、Python、螢幕擷取與主控台,以及 Unreal 編輯器中 AI 的範例提示。

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

本頁說明 AI agent 透過 Unreal MCP 在 Unreal 編輯器中能做什麼。此外掛提供 7 個系列共 27 個工具。你很少需要直接講出工具名稱:用自然語言提出需求,agent 就會挑選合適的工具。了解這些系列有助於你提出 agent 真正能完成的請求。

如需各工具的說明卡與參數,請參閱 Unreal 工具目錄。

RQL:編輯器資料的單一查詢語言

Unreal MCP 並不是每個編輯器操作都對應一個工具。編輯器資料改由 RQL 處理,這是一種查詢語言,能在一次呼叫中讀取與變更 actor、元件、資產、關卡與編輯器狀態。

工具功能
rql-query對執行中的編輯器進行唯讀查詢,回傳精簡的表格結果
rql-mutate以 set 或 call 結尾的查詢;全有或全無、只算一個復原步驟,並提供 dry_run 預覽
rql-schema列出資料來源、函式與類別;若指定型別,則列出該型別的成員與方法

以下是幾個 RQL 範例(agent 會替你撰寫):

actors | where $ is PointLight | select $ref Label Intensity
actors | where Label == "Door_01" | set Location = "(0, 0, 100)"
editor | call SpawnActor("PointLight")
console | where Verbosity == "Error"

除了 actor 與元件之外,RQL 還能觸及:

  • **資產與關卡:**建立、複製、移動、刪除與匯入資產,建立資料夾與材質實例,開啟、建立與儲存關卡,新增串流子關卡。
  • **編輯器狀態:**選取項目、Play In Editor 狀態、復原歷程、編輯器記錄。
  • **DataTables:**讀取與編輯資料列(Rows["Sword"].Damage),新增、移除、重新命名與複製資料列。
  • **Gameplay 標籤:**列出、新增、移除與重新命名標籤。
  • **Project Settings 與 Editor Preferences:**讀取與變更設定屬性,並儲存到正確的 .ini 檔案。
  • **Blueprint 圖表:**新增函式呼叫、變數、事件、轉型、分支與迴圈,連接接腳,然後 call Compile()。
  • **Widget Blueprints:**走訪與編輯 widget 樹、新增 widget 並設定版面配置。
  • **使用者自訂結構:**新增、移除與重新命名欄位。
  • **Level Sequences:**綁定 actor、新增軌道與關鍵影格。

每次變更都是一個編輯器交易,因此可用 Ctrl+Z 復原。agent 會從 unreal-rql skill 學習這套語言,該 skill 也會列出已安裝的擴充功能新增了哪些內容。

範例提示:

  • 「列出關卡中每個點光源及其強度,然後把較暗的點光源強度加倍。」
  • 「以 200 單位的間距,在 5 乘 4 的格線中生成 20 個立方體。」
  • 「在 DT_Weapons DataTable 中新增一列 Bow,Damage 為 7。」
  • 「將遊戲預設地圖設為 /Game/Maps/Arena。」

Blueprint 系列

Blueprint 編寫是 Unreal 主要的腳本撰寫介面,而 agent 能取得完整的回饋循環:建立、編輯、編譯、讀取錯誤、修正。

工具功能
blueprint-create從父類別建立 Blueprint 類別
blueprint-get摘要 Blueprint:變數、元件、函式與事件、父類別鏈
blueprint-add-component將元件加入建構腳本
blueprint-remove-component移除元件
blueprint-add-variable新增具型別的成員變數
blueprint-modify-variable變更成員變數
blueprint-set-default設定類別預設屬性
blueprint-add-function新增函式雛形
blueprint-add-event新增事件,例如 BeginPlay 或 Tick
blueprint-compile編譯並回傳結構化的錯誤與警告清單
blueprint-spawn在關卡中放置該 Blueprint 的實例

範例:「建立一個 Actor Blueprint BP_Door,包含 static mesh 元件與 bool 變數 IsOpen,編譯後在原點放置一個。」

原始碼 / C++ 系列

工具功能
source-read分段讀取專案中的 C++ 檔案
source-create-class建立新 C++ 類別的骨架(標頭檔與原始檔)
source-update編輯原始檔
source-delete刪除原始檔
source-list列出模組的原始檔
source-compile在 Live Coding 啟用時以它編譯,否則使用 Unreal Build Tool,並回傳結構化的錯誤報告

所有檔案操作僅限於 <Project>/Source/。範例:「建立一個 C++ 元件 UHealthComponent,包含 MaxHealth 與 TakeDamage 函式,編譯並修正所有錯誤。」

Python 系列

工具功能
python-execute在編輯器中執行 Python,並預先匯入 unreal 模組

最後一個運算式的值會作為結果回傳,print 輸出會以日誌形式回來,錯誤則會指向出錯的那一行。include 會從 <Project>/.ai-game-dev/snippets 加入輔助檔案或資料夾,timeout(預設 30 秒)則會中止失控的腳本。此外掛會啟用 Unreal 的 Python Editor Script Plugin;Python 僅限編輯器使用,絕不會打包進發行後的遊戲。Blueprint 圖表的接線並未開放給 Python;請改用 Blueprint 工具或 RQL 來處理。

你也可以在終端機用 unreal-mcp-cli exec 執行 Python,請見 CLI 參考。

截圖系列

工具功能
screenshot-viewport擷取目前作用中的編輯器視埠
screenshot-game-view擷取 Play In Editor 的遊戲視圖
screenshot-camera從攝影機 Actor 算圖
screenshot-isolated單獨算圖單一 Actor

影像會以模型可檢視的 PNG 內容回傳,預設 1024 像素,每邊最多 2048 像素。這需要由 GPU 支援的編輯器;在 -nullrhi 下會回傳錯誤。範例:「從 CameraActor_Main 截一張圖,告訴我打光是不是太暗。」

主控台與工具清單

工具功能
console-run-command執行 Unreal 主控台命令或設定主控台變數
unreal-tool-list列出所有工具(包含隱藏工具),可選擇加上篩選條件、說明與輸入

讀取日誌、Play In Editor 狀態與選取項目都透過 RQL。

AI 代理看不到的工具

有些系統工具是供 CLI 與應用程式使用,不會顯示給 AI 代理:

  • ping:檢查外掛、橋接層與伺服器鏈路。
  • unreal-skill-generate:為每個工具寫出一份 SKILL.md 到 skills 資料夾(預設 .claude/skills);Generate skill files 按鈕就是用它。
  • unreal-skill-create:在外掛的編輯器模組中產生新的 C++ 工具檔案。這需要以原始碼方式安裝外掛,並重新建置編輯器後工具才能運作。
  • editor-quit:儲存並關閉由 CLI 工作階段啟動的編輯器。

提示詞與資源

此外掛也提供一個 MCP 提示詞 level-design-brief(依主題產生關卡設計簡報),以及兩個資源:unreal://project/levels(目前世界與其關卡的 JSON 快照)與 unreal://project/icon。

控制 AI 代理能看到什麼

在 MCP Tools 視窗中隱藏你不需要的工具,或用 UNREAL_MCP_TOOLS 只提供固定的一組工具。請見設定。若要新增功能,可安裝擴充套件或撰寫自訂工具。

僅限編輯器

全部 27 個工具都會操作編輯器。其中幾個功能強大(rql-mutate、console-run-command、python-execute),因此都不會被編譯進發行後的遊戲。選擇啟用執行階段連線的遊戲,只會暴露它自己註冊的工具。

想充分發揮這些工具的技巧,請見 Unreal 最佳實務。