Enables AI assistants to control Unreal Engine via Remote Control API, providing tools for asset management, actor spawning and manipulation, level editing, animation and physics control, visual effects creation, sequencer cinematics, and console command execution for game development automation.
Unreal Engine MCP Server
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal Engine through the native C++ Automation Bridge plugin. Built with TypeScript, C++, and Rust (WebAssembly) for ultra-high-performance game development automation.
Features
Core Capabilities
Asset Management - Browse, import, and create materials
Actor Control - Spawn, delete, and manipulate actors with physics
Editor Control - PIE sessions, camera, and viewport management
Level Management - Load/save levels, lighting, and environment building
Animation & Physics - Blueprints, state machines, ragdolls, constraints, vehicle setup
Visual Effects - Niagara particles, GPU simulations, procedural effects
Sequencer - Cinematics, camera animations, and timeline control
Graph Editing - Blueprint, Niagara, Material, and Behavior Tree graph manipulation
World Partition - Load cells, manage data layers
Render Management - Render targets, Nanite, Lumen
Pipeline & Testing - Run UBT, automated tests
Observability - Log streaming, gameplay debugger, insights, asset queries
Console Commands - Safe execution with dangerous command filtering
GraphQL API - Flexible data querying for assets, actors, and blueprints
High-Performance WebAssembly
5-8x faster JSON parsing - WASM-accelerated property parsing
5-10x faster transform math - Optimized 3D vector/matrix operations
3-5x faster dependency resolution - Rapid asset graph traversal
Automatic fallbacks - Works perfectly without WASM binary
Performance monitoring - Built-in metrics tracking
Quick Start
Prerequisites
Node.js 18+
Unreal Engine 5.0-5.7
Required UE Plugins (enable via Edit ▸ Plugins):
MCP Automation Bridge – Native C++ WebSocket automation transport (ships inside
plugins/McpAutomationBridge)Editor Scripting Utilities – Unlocks Editor Actor/Asset subsystems for native tool operations
Sequencer (built-in) – Keep enabled for cinematic tools
Level Sequence Editor – Required for
manage_sequenceoperationsControl Rig – Required for animation and physics tools
Subobject Data Interface – Required for Blueprint component manipulation (UE 5.7+)
💡 After toggling any plugin, restart the editor to finalize activation. The MCP Automation Bridge provides all automation capabilities through native C++ handlers.
Plugin feature map
Plugin | Location | Used By | Notes |
MCP Automation Bridge | Project Plugins ▸ MCP Automation Bridge | All automation operations | Primary C++ automation transport with native handlers |
Editor Scripting Utilities | Scripting | Asset/Actor subsystem operations | Supplies Editor Actor/Asset subsystems |
Sequencer | Built-in | Sequencer tools | Ensure not disabled in project settings |
Level Sequence Editor | Animation | Sequencer tools | Required for |
Control Rig | Animation | Animation/Physics tools | Required for |
Subobject Data Interface | Scripting | Blueprint tools | Required for |
Tools such as
physics.configureVehicleaccept an optionalpluginDependenciesarray so you can list the specific Unreal plugins your project relies on (for example, Chaos Vehicles or third-party vehicle frameworks). When provided, the server will verify those plugins are active before running the configuration.
MCP Automation Bridge plugin
Location:
plugins/McpAutomationBridgeInstallation: copy the folder into your project's
Plugins/directory and regenerate project files.Configuration: enable MCP Automation Bridge in Edit ▸ Plugins, restart the editor, then set the endpoint/token under Edit ▸ Project Settings ▸ Plugins ▸ MCP Automation Bridge. The bridge ships with its own lightweight WebSocket client, so you no longer need the engine's WebSockets plugin enabled.
Current scope: manages a WebSocket session to the Node MCP server (
ws://127.0.0.1:8091by default), implements reconnect backoff, and responds to editor functions, property operations, blueprint actions, and more through native implementations.Diagnostics: the
ue://automation-bridgeMCP resource surfaces handshake timestamps, recent disconnects, pending automation requests, and whether the Node listener is running—handy when validating editor connectivity from a client.Roadmap: expand the bridge with elevated actions (SCS authoring, typed property marshaling, modal mediation, asset workflows).
Plugin Setup Video Guide
https://github.com/user-attachments/assets/17bfb47d-d455-4fc8-be16-ec12c23fe211
WebAssembly Performance (Optional)
The MCP server includes WebAssembly acceleration for computationally intensive operations. WASM is automatically used when available and gracefully falls back to pure TypeScript when the bundle or toolchain is missing.
To enable full WASM acceleration (5–8x faster operations):
Without WASM (still fully functional):
When the WASM bundle is not present or wasm-pack is not installed:
npm run buildprints a concise message:WASM build failed or wasm-pack missing; continuing with TypeScript-only build.
At runtime, the server attempts to load the bundle once. On
ERR_MODULE_NOT_FOUNDit logs a single warning suggestingnpm run build/cargo install wasm-packand permanently falls back to TypeScript for that process.
WASM acceleration applies to:
JSON property parsing (5-8x faster)
Transform calculations (5-10x faster)
Vector/matrix math (5x faster)
Asset dependency resolution (3-5x faster)
Installation
Clone and Build
Unreal Engine Configuration
No additional engine configuration required. The MCP Automation Bridge plugin handles all automation through native C++ code.
MCP Client Configuration
Claude Desktop / Cursor
For NPM Installation (Local)
For Clone/Build Installation
Available Tools (17)
Tool | Description |
| Assets, Materials, Render Targets, Behavior Trees |
| Spawn, delete, modify, physics |
| PIE, Camera, UI Input |
| Load/Save, World Partition |
| Spawn Lights, GI, Shadows, Build Lighting |
| Profiling, Optimization, Scalability |
| Animation BPs, Vehicles, Ragdolls |
| Niagara, Particles, Debug Shapes |
| Create, SCS, Graph Editing |
| Direct Blueprint Graph Manipulation |
| Landscape, Foliage, Procedural |
| UBT, Tests, Logs, Project Settings, CVars |
| Sequencer/Cinematics |
| Object Introspection |
| Audio Assets & Components |
| Behavior Tree Graph Editing |
| Enhanced Input Actions & Contexts |
Documentation
Handler Mappings - TypeScript to C++ routing guide
GraphQL API - Query and mutation reference
Automation Progress - Implementation status
Key Features
Native C++ Automation - All operations route through the MCP Automation Bridge plugin's native C++ handlers
Graceful Degradation - Server starts even without an active Unreal connection
On-Demand Connection - Retries automation handshakes with backoff instead of persistent polling
Non-Intrusive Health Checks - Uses echo commands every 30 seconds while connected
Command Safety - Blocks dangerous console commands
Input Flexibility - Vectors/rotators accept object or array format
Asset Caching - 10-second TTL for improved performance
GraphQL - Specialized endpoint for complex queries
Native C++ Architecture
The server uses a 100% native C++ approach: all automation operations are implemented as native C++ handlers in the MCP Automation Bridge plugin (under plugins/McpAutomationBridge/Source/). This eliminates dependencies and provides better performance, reliability, and type safety.
Configuration and runtime defaults are centralized in src/constants.ts. All operations route through the automation bridge's WebSocket protocol to native plugin handlers.
Supported Asset Types
Blueprints, Materials, Textures, Static/Skeletal Meshes, Levels, Sounds, Particles, Niagara Systems, Behavior Trees
Example Console Commands
Statistics:
stat fps,stat gpu,stat memoryView Modes:
viewmode wireframe,viewmode unlitGameplay:
slomo 0.5,god,flyRendering:
r.screenpercentage 50,r.vsync 0
Configuration
Environment Variables
Note on configuration precedence
The server uses
dotenvto load.envfor local development. A.env.productionfile is included as a reference for production deployments; copy values into your real environment or secret store as appropriate.Environment variables (.env / system env) override the internal runtime defaults (for example, defaults in
src/index.ts,src/automation-bridge.ts, and individual tool implementations). This lets you tune timeouts, logging, and WASM behavior without modifying source code. Keep secrets in.envor a secret manager — do not store secrets in source files.
Mock mode
Docker
Pull from Docker Hub
Development
Contributing
Contributions welcome! Please:
Include reproduction steps for bugs
Keep PRs focused and small
Follow existing code style
License
MIT - See LICENSE file