🚀 Unreal Engine MCP Server
Unreal Engine MCP Serverは、AIアシスタントがRemote Control APIを介してUnreal Engineを制御できるようにする包括的なModel Context Protocol (MCP)サーバーです。TypeScriptで構築され、ゲーム開発の自動化に設計されています。
🚀 クイックスタート
前提条件
- Node.js 18+
- Unreal Engine 5.0 - 5.6
- 必要なUEプラグイン(Edit ▸ Plugins で有効にする):
- Remote Control API – コアのRemote Control HTTP/WSエンドポイント
- Remote Control Web Interface – このサーバーで使用されるWebSocketブリッジを有効にする
- Python Editor Script Plugin – 自動化用のPythonランタイムを公開する
- Editor Scripting Utilities – ツール全体で使用されるEditor Actor/Assetサブシステムを開放する
- Sequencer (組み込み) – シネマティックツールを使用する場合は有効にする
- Level Sequence Editor –
manage_sequence 操作に必要
💡 プラグインを切り替えた後は、エディターを再起動して有効化を完了させてください。接続する前に Editor Scripting Utilities と Python Editor Script Plugin を有効にしておかないと、多くのサブシステムベースのツール(アクターの生成、オーディオ、葉やUIウィジェット)が安全上の理由で実行されません。
プラグイン機能マップ
| プラグイン |
位置 |
使用元 |
注意事項 |
| Remote Control API |
Developer Tools ▸ Remote Control |
すべてのツール |
MCPブリッジが消費するHTTP/WSエンドポイントを提供する |
| Remote Control Web Interface |
Developer Tools ▸ Remote Control |
すべてのツール |
永続的なWebSocketセッションを有効にする |
| Python Editor Script Plugin |
Scripting |
地形、照明、オーディオ、物理、シーケンス、UI |
すべてのPython実行パスに必要 |
| Editor Scripting Utilities |
Scripting |
アクター、葉、アセット、地形、UI |
UE5.6でEditor Actor/Assetサブシステムを提供する |
| Sequencer |
組み込み |
シーケンサーツール |
プロジェクト設定で無効にしないようにする |
| Level Sequence Editor |
Animation |
シーケンサーツール |
manage_sequence 操作を呼び出す前にアクティブにする |
インストール
オプション1: NPMパッケージ(推奨)
npm install -g unreal-engine-mcp-server
npm install unreal-engine-mcp-server
オプション2: クローンしてビルド
git clone https://github.com/ChiR24/Unreal_mcp.git
cd Unreal_mcp
npm install
npm run build
node dist/cli.js
Unreal Engineの設定
プロジェクトの Config/DefaultEngine.ini に追加します。
[/Script/PythonScriptPlugin.PythonScriptPluginSettings]
bRemoteExecution=True
bAllowRemotePythonExecution=True
[/Script/RemoteControl.RemoteControlSettings]
bAllowRemoteExecutionOfConsoleCommands=True
bEnableRemoteExecution=True
bAllowPythonExecution=True
次に、Edit > Project Settings > Plugins > Remote Control でPython実行を有効にします。
✨ 主な機能
コア機能
- アセット管理 - マテリアルを参照、インポート、作成する
- アクター制御 - アクターを生成、削除し、物理を適用する
- エディター制御 - PIEセッション、カメラ、ビューポートを管理する
- レベル管理 - レベルをロード/保存し、照明や環境を構築する
- アニメーションと物理 - ブループリント、ステートマシン、ラグドール、拘束条件
- 視覚効果 - Niagaraパーティクル、GPUシミュレーション、プロシージャルエフェクト
- シーケンサー - シネマティック、カメラアニメーション、タイムライン制御
- コンソールコマンド - 危険なコマンドをフィルタリングして安全に実行する
主要な特徴
- 緩やかな劣化 - UEに接続していなくてもサーバーが起動する
- 自動再接続 - 10秒ごとに再接続を試みる
- 接続タイムアウト - 5秒のタイムアウトでリトライ回数を設定可能
- 非侵入的なヘルスチェック - 30秒ごとにエコーコマンドを使用する
- コマンドの安全性 - 危険なコンソールコマンドをブロックする
- 入力の柔軟性 - ベクトル/回転子はオブジェクトまたは配列形式を受け入れる
- アセットキャッシュ - パフォーマンス向上のために10秒のTTLを持つ
💻 使用例
利用可能なツール (13)
| ツール |
説明 |
manage_asset |
アセットをリスト表示、マテリアルを作成、アセットをインポートする |
control_actor |
アクターを生成、削除し、物理を適用する |
control_editor |
PIE制御、カメラ、ビューモード |
manage_level |
レベルをロード/保存し、照明を設定する |
animation_physics |
アニメーションブループリント、ラグドール |
create_effect |
パーティクル、Niagara、デバッグ形状 |
manage_blueprint |
ブループリントを作成し、コンポーネントを追加する |
build_environment |
地形、地形、葉 |
system_control |
プロファイリング、品質、UI、スクリーンショット、出力ログの読み取り |
console_command |
直接コンソールコマンドを実行する |
manage_rc |
リモートコントロールのプリセット |
manage_sequence |
シーケンサー/シネマティック |
inspect |
オブジェクトの内部構造を調査する |
コンソールコマンドの例
- 統計情報:
stat fps, stat gpu, stat memory
- ビューモード:
viewmode wireframe, viewmode unlit
- ゲームプレイ:
slomo 0.5, god, fly
- レンダリング:
r.screenpercentage 50, r.vsync 0
📚 ドキュメント
MCPクライアントの設定
NPMインストールの場合(ローカル)
{
"mcpServers": {
"unreal-engine": {
"command": "npx",
"args": ["unreal-engine-mcp-server"],
"env": {
"UE_HOST": "127.0.0.1",
"UE_RC_HTTP_PORT": "30010",
"UE_RC_WS_PORT": "30020",
"UE_PROJECT_PATH": "C:/Users/YourName/Documents/Unreal Projects/YourProject"
}
}
}
}
クローン/ビルドインストールの場合
{
"mcpServers": {
"unreal-engine": {
"command": "node",
"args": ["path/to/Unreal_mcp/dist/cli.js"],
"env": {
"UE_HOST": "127.0.0.1",
"UE_RC_HTTP_PORT": "30010",
"UE_RC_WS_PORT": "30020",
"UE_PROJECT_PATH": "C:/Users/YourName/Documents/Unreal Projects/YourProject"
}
}
}
}
設定
環境変数
UE_HOST=127.0.0.1 # Unreal Engineのホスト
UE_RC_HTTP_PORT=30010 # リモートコントロールのHTTPポート
UE_RC_WS_PORT=30020 # リモートコントロールのWebSocketポート
UE_PROJECT_PATH="C:/Users/YourName/Documents/Unreal Projects/YourProject" # .uprojectファイルの絶対パス
LOG_LEVEL=info # debug | info | warn | error
Docker
docker build -t unreal-mcp .
docker run -it --rm unreal-mcp
Docker Hubからプルする
docker pull mcp/server/unreal-engine-mcp-server:latest
docker run --rm -it mcp/server/unreal-engine-mcp-server:latest
開発
npm run build
npm run lint
npm run lint:fix
コントリビューション
コントリビューションを歓迎します!以下のことをお願いします。
- バグの再現手順を含める
- PRを焦点を絞って小さく保つ
- 既存のコードスタイルに従う
📄 ライセンス
MIT - LICENSEファイルを参照してください。