# ツール — Unreal Engine · AI Game Developer Wiki

Unreal MCP の組み込みツール27個（RQL、Blueprint、C++ ソース、Python、スクリーンショット、コンソール）と、Unreal Editor での AI 向けプロンプト例を紹介します。

このページは英語から機械翻訳されています。[英語の原文を読む](https://ai-game.dev/docs/wiki/unreal/tools)。

このページでは、Unreal MCP を使って AI エージェントが Unreal Editor 内で何をできるかを説明します。このプラグインには **7つのファミリーに分かれた27個のツール** が含まれています。ツールを名前で呼ぶことはほとんどありません。普通の言葉で頼めば、エージェントがツールを選びます。ファミリーを知っておくと、エージェントが実際にできることを頼みやすくなります。

各ツールのカードとパラメータについては、[Unreal tools catalog](https://ai-game.dev/docs/tools/unreal) を参照してください。

## RQL: エディタデータのための単一のクエリ言語

Unreal MCP にはエディタ操作ごとに1つのツールがあるわけではありません。代わりに、エディタデータは **RQL** を通ります。RQL はアクター、コンポーネント、アセット、レベル、エディタの状態を1回の呼び出しで読み取り、変更するクエリ言語です。

| ツール | 機能 |
| --- | --- |
| `rql-query` | ライブエディタに対する読み取り専用クエリで、コンパクトなテーブル結果を返す |
| `rql-mutate` | `set` または `call` で終わるクエリ。オール・オア・ナッシングで1回の undo ステップとなり、`dry_run` によるプレビューも可能 |
| `rql-schema` | ソース、関数、クラスを列挙します。型を指定すると、その型のメンバーとメソッドを列挙します |

RQL がどのようなものかの例をいくつか示します（エージェントがこれらを書いてくれます）：

```text
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"
```

アクターとコンポーネントに加えて、RQL は次のものにも到達できます：

- **アセットとレベル:** アセットの作成、コピー、移動、削除、インポート、フォルダとマテリアルインスタンスの作成、レベルのオープン、作成、保存、ストリーミングサブレベルの追加。
- **エディタの状態:** 選択、Play In Editor の状態、undo 履歴、エディタログ。
- **DataTable:** 行の読み取りと編集（`Rows["Sword"].Damage`）、行の追加、削除、名前変更、複製。
- **ゲームプレイタグ:** タグの一覧表示、追加、削除、名前変更。
- **Project Settings と Editor Preferences:** 設定プロパティの読み取りと変更。適切な `.ini` ファイルに保存されます。
- **Blueprint グラフ:** 関数呼び出し、変数、イベント、キャスト、分岐、ループの追加、ピンの接続、そして `call Compile()`。
- **Widget Blueprint:** ウィジェットツリーの走査と編集、ウィジェットの追加、レイアウトの設定。
- **ユーザー定義構造体:** フィールドの追加、削除、名前変更。
- **Level Sequence:** アクターのバインド、トラックとキーの追加。

すべての変更は1つのエディタトランザクションなので、**Ctrl+Z** で元に戻せます。エージェントは `unreal-rql` スキルからこの言語を学びます。このスキルには、インストールされている [extensions](https://ai-game.dev/ja/docs/wiki/unreal/extensions) が何を追加するかも記載されています。

プロンプト例：

- 「レベル内のすべてのポイントライトを強度とともに一覧表示し、暗いものの強度を2倍にして」
- 「5×4のグリッドに200ユニット間隔で20個のキューブをスポーンさせて」
- 「DT\_Weapons DataTable に Damage 7 の Bow 行を追加して」
- 「ゲームのデフォルトマップを /Game/Maps/Arena に設定して」

## Blueprint ファミリー

Blueprint の作成は Unreal の主要なスクリプティング手段であり、エージェントは完全なフィードバックループを得られます。作成、編集、コンパイル、エラーの読み取り、修正です。

| ツール | 機能 |
| --- | --- |
| `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 のインスタンスをレベルに配置する |

例：「静的メッシュコンポーネントと bool 変数 IsOpen を持つ Actor Blueprint BP\_Door を作成し、コンパイルして原点に1つ配置して」

## ソース / C++ ファミリー

| ツール | 機能 |
| --- | --- |
| `source-read` | プロジェクトの C++ ファイルを分割して読み取る |
| `source-create-class` | 新しい C++ クラス（ヘッダーとソース）を雛形から作成する |
| `source-update` | ソースファイルを編集する |
| `source-delete` | ソースファイルを削除する |
| `source-list` | モジュールのソースファイルを一覧表示する |
| `source-compile` | Live Coding が有効な場合はそれで、そうでなければ Unreal Build Tool でコンパイルし、構造化されたエラーレポートを返す |

すべてのファイル操作は `<Project>/Source/` に限定されます。例：「MaxHealth と TakeDamage 関数を持つ C++ コンポーネント UHealthComponent を作成し、コンパイルして、エラーがあれば修正して」

## Python ファミリー

| ツール | 機能 |
| --- | --- |
| `python-execute` | `unreal` モジュールを事前にインポートした状態で、エディタ内で Python を実行する |

最後の式が結果として返され、`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 リファレンス](https://ai-game.dev/ja/docs/wiki/unreal/cli#exec) を参照してください。

## スクリーンショット系

| ツール | 機能 |
| --- | --- |
| `screenshot-viewport` | アクティブなエディタビューポートをキャプチャします |
| `screenshot-game-view` | Play In Editor のゲームビューをキャプチャします |
| `screenshot-camera` | カメラアクターからレンダリングします |
| `screenshot-isolated` | 1つのアクターを単独でレンダリングします |

画像はモデルが閲覧できる PNG コンテンツとして返され、デフォルトで1024ピクセル、片辺あたり最大2048ピクセルです。GPU を利用するエディタが必要で、`-nullrhi` の下ではエラーが返ります。例:「CameraActor\_Main からスクリーンショットを撮り、ライティングが暗すぎないか教えてください。」

## コンソールとツール一覧

| ツール | 機能 |
| --- | --- |
| `console-run-command` | Unreal のコンソールコマンドを実行するか、コンソール変数を設定します |
| `unreal-tool-list` | 非表示のものも含め、すべてのツールを一覧表示します。オプションでフィルター、説明、入力を指定できます |

ログ、Play In Editor の状態、選択内容の読み取りは RQL を経由して行います。

## エージェントには見えないツール

いくつかの**システムツール**は CLI とアプリに提供され、AI エージェントには表示されません:

- `ping`: プラグイン、ブリッジ、サーバーの連鎖をチェックします。
- `unreal-skill-generate`: ツールごとに1つの `SKILL.md` をスキルフォルダ（デフォルト `.claude/skills`）に書き出します。**Generate skill files** ボタンがこれを使用します。
- `unreal-skill-create`: プラグインのエディタモジュールに新しい C++ ツールファイルを生成します。ツールが動作するには、プラグインのソースインストールとエディタの再ビルドが必要です。
- `editor-quit`: CLI セッションが起動したエディタを保存して閉じます。

## プロンプトとリソース

プラグインには MCP プロンプトが1つ、`level-design-brief`（テーマから作成するレベルデザインブリーフ）が同梱され、さらに2つのリソースがあります: `unreal://project/levels`（アクティブなワールドとそのレベル群の JSON スナップショット）と `unreal://project/icon` です。

## エージェントに見えるものを制御する

不要なツールは **MCP Tools** ウィンドウで非表示にするか、`UNREAL_MCP_TOOLS` で固定のセットのみを提供できます。詳しくは[設定](https://ai-game.dev/ja/docs/wiki/unreal/configuration#tool-visibility)を参照してください。機能を追加するには、[拡張機能](https://ai-game.dev/ja/docs/wiki/unreal/extensions)をインストールするか、[カスタムツール](https://ai-game.dev/ja/docs/wiki/unreal/custom-tools)を作成してください。

## エディタ専用

27個のツールはすべてエディタを操作します。いくつかは強力（`rql-mutate`、`console-run-command`、`python-execute`）なため、いずれもパッケージ化されたゲームにはコンパイルされません。[ランタイム接続](https://ai-game.dev/ja/docs/wiki/unreal/custom-tools#runtime)を有効にしたゲームは、自ら登録したツールのみを公開します。

これらのツールを最大限に活用するためのヒントは [Unreal ベストプラクティス](https://ai-game.dev/docs/best-practices/unreal)にあります。

---

Source (HTML): https://ai-game.dev/ja/docs/wiki/unreal/tools

Machine-translated (ja) from the English page: https://ai-game.dev/docs/wiki/unreal/tools
