1. サイトトップ
  2. ブログ
  3. UE5.8 MCP触ってみた

UE5.8 MCP触ってみた

挨拶

おはようございます。
こんにちは。こんばんは。
ロジカルビートプログラム課の若尾です。
UnrealEngine楽しいですね。(以降UEと表記)
今回はUE5.8からプレリリース版で利用できるようになったMCPプラグインを利用してみたを綴ったブログです。
MCP(Model Context Protocol)です。MCPについては下記のNTTテクノクロス様の記事がわかりやすかったです。
https://www.ntt-tx.co.jp/column/251113/
今回はMCPクライアントがVisualStudioCode×Copilot,MCPサーバがUE5.8となります。

今回利用した環境・スペックです。
– OS : Windows11Pro64bit
– CPU : Intel i7-12700
– GPU : GeForce RTX 3070
– メモリ : 64GB
– UnrealEngine5.8
– VisualStudioCode 1.129.0

VisualStudioCodeのCopilotチャットを使ってリクエストを行いました。
今回はAuto設定で行いました。利用したAIモデルは下記です。

  • GPT-5.3-Codex
  • GPT-5.4 mini

検証環境について

今回はAIエージェント・サービスはGithubCopilot
文章ベースの命令元・接続元をVisualStudioCodeにしました。
今回はあくまでもMCPでの検証を行いたかったため、C++のエンジンやプロジェクトを直接変更できるような環境を避けました。
下記のUE5.8のドキュメントを参照しました。
https://dev.epicgames.com/documentation/unreal-engine/unreal-mcp-in-unreal-editor

準備

(Unrealドキュメントより) これらのセットアップを行います。

UE5.8起動とプラグイン導入,MCPのセットアップ

UE5.8をインストールし起動します。
今回はFPSでスタートして、ブループリントにしました。


プラグイン設定画面を開きます。
“UnrealMCP”をオンにします。
また、MCPを介して各種UEの内部操作が出来るように”All toolsets”をオンにしました。

このあと、MCPサーバーを起動とMCPサーバーの情報をセットアップにて出力します。
Consoleコマンドにて入力します。

MCPサーバーを起動します。EditにてAutoStartにチェックすると,UE5.8起動時に自動で起動します。

ModelContextProtocol.StartServer

続いてサーバーの情報を出力して準備します。

ModelContextProtocol.GenerateClientConfig VSCode
// 上記を含めた,すべての種類のセットアップ出力は下記
ModelContextProtocol.GenerateClientConfig All
mcpの情報を出力したファイルが生成されます。

VisualStudioCode GithubCopilot接続

VisualStudioCodeを起動して,チャットを開きます。
今回はmcp.jsonの所在を伝え,接続するようにチャットでそのまま依頼してみました。

UnrealEngineのmcpサーバーに接続してください
M:\UE5\project\D\FPSsample.vscode\mcp.json
こちらに情報があります。

——
✅ MCP サーバー接続設定完了
以下の手順を実施しました:
settings.json を作成 – UnrealEngine MCP サーバー設定を追加
サーバー起動確認 – ポート 8000 でリッスン中を確認(PID: 15348)
MCPサーバーは正常に起動しており、接続設定も完了しています。


MCPに接続ができて、ここからリクエスト諸々ができるようになりました。
それでは早速試してみます。

UnrealMCP試してみた

オブジェクトを作ってもらう

ブループリントの読み込みや追加はまだ難しいと随所にあるように、ブループリントの変更系はリクエストしてもなかなかできませんでした。こうした事情も踏まえて、UE6からブループリント→Verseへの移行する背景があるのかもしれません。
なので、ジオメトで新規作成をお願いしてみました。

ジオメトリとマテリアルなど新規で作成し、噴水のオブジェクトを作成して現在のレベルに配置をお願いします。
10分経過…

なるほど。
ジオメトリの組み合わせというところで考えると上々かもしれませんね。
この状態から続いて下記をチャットで送りました。

配置したオブジェクトに水と石のマテリアルを適応して、水用マテリアルに透過・流れ表現ノードを自動追加して

オブジェクトの真ん中あたりにマテリアルが割り当てられたようです。
水面を作成したようなのですが、マテリアルの中身を開いてみます。

おおぉ!マテリアルノードが組まれています。
普段こういったノードを触らない人からしたら、これは結構すごいのではという感想を持ちました。
水面の色が抜けて入るようなので、今回は水色で与えてみました。

いい感じに出来ました。

あくまでジオメトリの組み合わせと単純なマテリアルですが
リクエストを投げてそれっぽいものを動かしてくれるのは将来性を感じました。

UnrealMCPでうまくできなかったこと

リクエストを行ってみたが,意図通りにできなかった命令の例です。

  • テストプレイを依頼
    • まるっと操作してテストしてみてと依頼しましたが、これはうまくできませんでした。
      • inputのルールや命令を外側から呼べるようにする必要がありそうです。
    • 実行した結果を録画してほしいという、録画の部分はうまくできました。動画が見られたのは良かったです。
  • ブループリントの編集
    • ジャンプの高さを変えてほしいといったリクエストは結局達成できず
    • ただ、AIから直接編集やゲーム全体の設定を変更を促されたのでユーザーはそれを基に実装できそうでした。
  • 既存のオブジェクトの編集
    • 黄色いオブジェクトを青色にといったリクエストがうまくできず。
    • マテリアルファイルが決まっていればそれを直接編集するように依頼すれば良さそうでした。
  • UnrealInsightsの読み取り
    • トレース済みのUnrealInsightsの分析を依頼するも、直接扱う方法がないと言われできませんでした。

終わりに

MCP触ってみました。

まだまだ実用となると厳しい側面がありますが、C++のプログラムだけでなくエディタの画面に関与して操作できるのは将来性を感じました。
ユーザーのそれっぽいリクエストに対して推論と操作をしてくれるのは、UnrealEngineやゲーム開発を初めて行う人や扱ったことのないツールに慣れることができたりと助けになってくれる機能と感じました。


【免責事項】

本サイトでの情報を利用することによる損害等に対し、
株式会社ロジカルビートは一切の責任を負いません。