# 擴充功能 — Unreal Engine · AI Game Developer Wiki

Control Rig、Enhanced Input、GAS、Landscape 與 Water、Niagara 及 PCG 適用的選用 Unreal MCP 擴充功能，說明各自新增什麼以及如何安裝。

本頁面由英文機器翻譯而成。[閱讀英文原文](https://ai-game.dev/docs/wiki/unreal/extensions)。

擴充功能讓 Unreal MCP 認識更多引擎系統。每個擴充功能都是獨立、選用的 Unreal 外掛，各有自己的版本與發行。只安裝你的專案有用到的那些。

所有擴充功能都放在 [Unreal-MCP 儲存庫](https://github.com/IvanMurzak/Unreal-MCP)，並列於 [Unreal 擴充功能頁面](https://ai-game.dev/docs/extensions/unreal)。

## 擴充功能的運作方式

每個擴充功能都是一個 **RQL 模組**。它不會自己新增 MCP 工具，而是為核心的 `rql-query`、`rql-mutate` 與 `rql-schema` 工具新增來源、操作與成員（參見 [工具](https://ai-game.dev/zh-hant/docs/wiki/unreal/tools#rql)），並在 `unreal-rql` 技能中新增一節，教導 agent 如何使用它。agent 的工具清單維持精簡，能力範圍卻不斷擴大。

反射機制本來就會揭露每個已載入引擎型別的屬性，所以即使沒有擴充功能，agent 也能例如設定 Niagara 元件的資產。擴充功能則補上反射看不到的部分，例如列出 Niagara 系統及其發射器，或雕塑地形。

## 需求

- Unreal Engine **5.7 或更新版本**（擴充功能的測試套件驗證過 5.7 與 5.8）。
- 同一個專案中的 Unreal MCP **0.26.0 或更新版本**。
- C++ 工具鏈。擴充功能以原始碼形式提供，並針對你的專案與引擎進行編譯。
- 每個擴充功能所依據的引擎外掛。安裝程式會替你啟用。

沒有任何擴充功能需要依賴另一個擴充功能。

## 六個擴充功能

| 擴充功能 | 擴充功能 ID | 引擎外掛 | 新增內容 |
| --- | --- | --- | --- |
| AI ControlRig | `com.ivanmurzak.unreal-ai-control-rig` | ControlRig | 建立含骨骼、控制項與雙骨骼 IK 解算器的 rig；查詢 Control Rig 藍圖與元件 |
| AI EnhancedInput | `com.ivanmurzak.unreal-ai-enhanced-input` | EnhancedInput | 查詢 Input Action 與 Mapping Context、建立 action 與 context、對應按鍵 |
| AI GAS | `com.ivanmurzak.unreal-ai-gas` | GameplayAbilities | 查詢 ability、effect 與 attribute-set 類別及已授予的 ability、將 ability 授予 actor |
| AI Landscape | `com.ivanmurzak.unreal-ai-landscape` | Water | 建立、雕塑與繪製地形；查詢地形、水體與水域 |
| AI Niagara | `com.ivanmurzak.unreal-ai-niagara` | Niagara | 查詢 Niagara 系統及其發射器、在關卡中放置系統 |
| AI PCG | `com.ivanmurzak.unreal-ai-pcg` | PCG | 查詢 PCG 圖與元件、新增元件並執行生成 |

每個擴充功能目前的發行版本為 0.2.0。

### 每個 RQL 模組包含什麼

| 擴充功能 | 來源 | 操作 |
| --- | --- | --- |
| AI ControlRig | `controlRigs`、`controlRig` | `CreateRig`、`AddBone`、`AddControl`、`AddTwoBoneIK` |
| AI EnhancedInput | `inputActions`、`inputContexts`、`enhancedInput` | `CreateAction`、`CreateContext`、`AddMapping`、`RemoveMapping`、`AddActionEvent`、`AddMappingContextOnBeginPlay` |
| AI GAS | `gasAbilities`、`gasEffects`、`gasAttributeSets`、`gas` | `GrantAbility` |
| AI Landscape | `landscapes`、`waterBodies`、`waterZones`、`landscape` | `Create`、`Sculpt`、`Paint`、`CreateLayerMaterial` |
| AI Niagara | `niagaraSystems`、`niagara` | `SpawnSystem` |
| AI PCG | `pcgGraphs`、`pcg` | `AddComponent`、`Generate` |

你不需要記住這些名稱。agent 會從 `rql-schema` 與技能中讀取它們。當你閱讀 agent 的查詢時，這些名稱會有所幫助。

## 使用 unreal-mcp-cli 安裝

請先關閉 Unreal Editor，然後：

```bash
unreal-mcp-cli install-extension com.ivanmurzak.unreal-ai-niagara ./YourProject
```

此命令會：

1. 在擴充功能索引中查出擴充功能 ID，並找到其最新的 GitHub 發行版本。
2. 將外掛放到 `<project>/Plugins/<PluginName>/`（例如 `Plugins/UnrealAINiagara/`）。
3. 在你的 `.uproject` 中啟用該擴充功能及其引擎外掛。
4. 把編譯留到下次啟動編輯器時進行，或加上 `--build` 立即編譯。

可以安全地重複執行：若相同版本已安裝並啟用，就不會有任何變更。除非你指定版本，否則它絕不會降級已安裝的擴充功能。

實用旗標：

- `--version 0.2.0` 安裝指定的確切發行版本。
- `--build` 立即編譯（Windows、macOS 與 Linux）。
- `--source <dir>` 從本機資料夾安裝，適用於離線機器與 CI。
- `--force` 即使已是最新也重新安裝。

你可以用擴充功能 ID、顯示名稱或外掛資料夾名稱來安裝。

## 從編輯器或應用程式安裝

- \*\*在編輯器中：\*\*AI Game Developer 視窗的 **Extensions** 區段會列出已安裝的擴充功能，並在按下 **Refresh catalog** 後列出可用的擴充功能。**Install** 與 **Update** 會下載擴充功能；新的擴充功能會顯示「Installed · needs editor restart to compile」，直到建置完成為止，或改用 **Compile (Live Coding)**。
- \*\*在 AI Game Dev 應用程式中：\*\*使用側邊欄的擴充功能動作（或應用程式 CLI 中的 `/install-extension`）。應用程式會挑選最新的發行版本。參見 [專案與引擎](https://ai-game.dev/zh-hant/docs/wiki/app/projects-and-engines#extensions)。

## 開啟或關閉擴充功能

Extensions 區段中每個已安裝的擴充功能都有一個啟用開關。關閉後會立即從 agent 移除其新增內容，無需重新啟動編輯器。此選擇會在編輯器工作階段之間保留。

## 範例提示

- 「列出專案中的每個 Niagara 系統，並顯示 NS\_Fire 的發射器。」（AI Niagara）
- 「建立一個布林 Input Action IA\_Jump 與一個 Mapping Context IMC\_Default，並將空白鍵對應到它。」（AI EnhancedInput）
- 「將 GA\_Fireball 授予 Hero actor。」（AI GAS）
- 「建立一個地形並在上面繪製草地層。」（AI Landscape）
- 「為 ForestVolume actor 新增一個帶有 PCG\_Forest 的 PCG 元件並生成它。」（AI PCG）
- 「建立一個含三骨骼鏈的 rig，並在其上加上雙骨骼 IK。」（AI ControlRig）

## 撰寫你自己的擴充功能

任何 Unreal 外掛都能新增自己的 RQL 模組、工具、提示或資源，而不必分支 Unreal MCP。參見 [自訂工具](https://ai-game.dev/zh-hant/docs/wiki/unreal/custom-tools)。

---

Source (HTML): https://ai-game.dev/zh-hant/docs/wiki/unreal/extensions

Machine-translated (zh-Hant) from the English page: https://ai-game.dev/docs/wiki/unreal/extensions
