An open-source plugin that lets AI coding assistants control the Unreal Engine 5 editor — Blueprints, Materials, Sequencer, AI, World Building, and more.
Status: Alpha / Untested — built by combining three great open-source projects and adding new tool categories. Needs real-world testing.
You open your UE5 project, start Claude Code (or any MCP-compatible AI), and tell it what to build:
> "Add a health variable to the player blueprint, wire up a damage event, and create a HUD widget showing the health bar"
The AI uses 158 tools to directly manipulate the editor — creating Blueprints, wiring nodes, spawning actors, editing materials, setting up animations — without you clicking through menus.
You need: UE 5.7, Node.js 18+, Claude Code
Install as a Claude Code plugin — no manual copying or build steps:
/plugin marketplace add https://github.com/NodeNestor/nestor-plugins
/plugin install ue5-ultimate-mcpThen in your UE5 project folder, just say:
/setup-ue5
Claude will automatically copy the plugin into your project, detect if it's a C++ or Blueprint-only project, and set everything up.
1. Get the plugin into your UE5 project
Pre-built binary (Blueprint-only projects): Download from Releases and extract into YourGame/Plugins/UE5UltimateMCP/.
From source (C++ projects):
git clone https://github.com/NodeNestor/UE5UltimateMCP.git
cp -r UE5UltimateMCP YourGame/Plugins/UE5UltimateMCP2. Register the MCP server
claude mcp add ue5 -- node Plugins/UE5UltimateMCP/MCP/dist/index.js3. Use it
- Open your project in UE5 — the plugin starts automatically (HTTP server on port 9847)
- Open a terminal in the same project folder
- Run
claude - Ask it to do things
First time? Try: "Check the server status and tell me how many tools are available"
This project stands on the shoulders of three excellent open-source UE5 MCP integrations:
| Source Project | What we took | Credit |
|---|---|---|
| BlueprintMCP by mirno-ehf | Blueprint read/write, Materials, Animation, Snapshots — the surgical graph editing tools (83 tools) | Core of our Blueprint and Material systems |
| UnrealClaude by Natfii | Tool registry pattern, viewport capture, smart tool routing, context injection | Architecture inspiration + viewport/editor tools |
| unreal-engine-mcp by flopperam | Actor management, procedural world generation (castles, towns, mazes) | World gen algorithms + actor tools |
We combined the best parts into a single plugin and added 46 new tools for categories none of them covered:
- Sequencer — keyframes, camera cuts, render to video
- Behavior Trees — tasks, decorators, blackboard, composites
- Navigation — nav mesh building, pathfinding, modifiers
- Data Tables — create, add rows, import CSV
- Foliage — scatter instances, foliage types
- Niagara — particle systems, emitters, parameters
- UI / UMG — widget blueprints, child widgets, event binding
- Build & Package — lighting, cook, package, commandlets
Note: CLAUDIUS ($60 on FAB) covers similar ground with 130+ commands and is a tested, production product. This is the free open-source alternative — less polished, but MIT licensed and extensible.
Actors (8) — Spawn, delete, transform, inspect actors
| Tool | Description |
|---|---|
spawn_actor |
Spawn by class (StaticMesh, PointLight, Camera, etc.) |
delete_actor |
Remove an actor from the level |
get_actors_in_level |
List all actors with transforms |
find_actors_by_name |
Search by name pattern |
set_actor_transform |
Set location, rotation, scale |
spawn_blueprint_actor |
Spawn a Blueprint instance |
get_actor_properties |
Read all editable properties |
set_actor_property |
Set a property by name |
Blueprint Read (8) — Inspect Blueprints without modifying
| Tool | Description |
|---|---|
list_blueprints |
List all Blueprint assets |
get_blueprint |
Get graphs, variables, functions |
get_blueprint_graph |
Full node graph with pins |
search_blueprints |
Search by name, class, content |
get_blueprint_summary |
Concise structure overview |
describe_graph |
Human-readable logic description |
find_asset_references |
Find what references a Blueprint |
search_by_type |
Search assets by UClass |
Blueprint Mutation (13) — Edit Blueprint graphs
| Tool | Description |
|---|---|
add_node |
Add function, event, flow control nodes |
delete_node |
Remove a node |
move_node |
Reposition in graph |
connect_pins |
Wire two pins together |
disconnect_pin |
Break a connection |
set_pin_default |
Set default pin value |
duplicate_nodes |
Copy nodes |
set_node_comment |
Add/edit comment |
refresh_all_nodes |
Fix stale references |
replace_function_calls |
Bulk-replace function calls |
rename_asset |
Rename with redirectors |
delete_asset |
Delete an asset |
set_blueprint_default |
Set CDO default value |
Blueprint Graphs (5) — Create and manage graphs
| Tool | Description |
|---|---|
create_blueprint |
Create new Blueprint (Actor, Pawn, Interface, etc.) |
create_graph |
Create function or macro graph |
delete_graph |
Remove a graph |
rename_graph |
Rename a graph |
reparent_blueprint |
Change parent class |
Variables (4)
add_variable, remove_variable, change_variable_type, set_variable_metadata
Parameters (3)
add_function_parameter, remove_function_parameter, change_function_parameter_type
Components (3)
list_components, add_component, remove_component
Interfaces (3)
list_interfaces, add_interface, remove_interface
Event Dispatchers (2)
add_event_dispatcher, list_event_dispatchers
User Types (4)
create_struct, create_enum, add_struct_property, remove_struct_property
Discovery (5)
list_classes, list_functions, list_properties, get_pin_info, check_pin_compatibility
Snapshots & Diff (6)
snapshot_graph, diff_graph, restore_graph, find_disconnected_pins, analyze_rebuild_impact, diff_blueprints
Validation (2)
validate_blueprint, validate_all_blueprints
Material Read (8)
list_materials, get_material, get_material_graph, describe_material, search_materials, find_material_references, list_material_functions, get_material_function
Material Mutation (14)
create_material, set_material_property, add_material_expression, delete_material_expression, connect_material_pins, disconnect_material_pin, set_expression_value, move_material_expression, create_material_instance, set_material_instance_parameter, snapshot_material_graph, diff_material_graph, restore_material_graph, validate_material
Animation (10)
create_anim_blueprint, add_anim_state, remove_anim_state, add_anim_transition, set_transition_rule, add_anim_node, add_state_machine, set_state_animation, create_blend_space, set_blend_space_samples
Sequencer (7) — NEW
create_level_sequence, add_actor_to_sequence, add_transform_keyframe, add_camera_cut, set_sequence_length, render_sequence_to_video, play_sequence
Behavior Trees (9) — NEW
create_behavior_tree, create_blackboard, add_blackboard_key, add_bt_task, add_bt_decorator, add_bt_service, add_bt_selector, add_bt_sequence, link_blackboard_to_tree
Navigation (5) — NEW
build_navigation, add_nav_mesh_bounds, test_path, get_nav_mesh_info, add_nav_modifier
Data Tables (5) — NEW
create_data_table, add_data_table_row, get_data_table_rows, remove_data_table_row, import_csv_to_data_table
Foliage (4) — NEW
scatter_foliage, add_foliage_type, clear_foliage, get_foliage_info
Niagara (5) — NEW
create_niagara_system, spawn_niagara_actor, add_niagara_emitter, set_niagara_parameter, list_niagara_systems
UI / UMG (5) — NEW
create_widget_blueprint, add_widget_child, set_widget_property, list_widget_blueprints, bind_widget_event
World Generation (9)
create_wall, create_tower, create_staircase, create_arch, create_pyramid, create_maze, create_castle, create_town, create_house
Build & Package (6) — NEW
build_lighting, build_navigation_only, cook_project, package_project, get_build_status, run_commandlet
Viewport & Editor (5)
capture_viewport, get_output_log, run_console_command, open_level, get_level_info
Claude Code ←stdio→ TypeScript Bridge ←HTTP :9847→ C++ Plugin in UE5 Editor
(translates MCP (runs tools on the
protocol to HTTP) game thread)
- The C++ plugin loads when you open UE5 and starts an HTTP server on port 9847
- The TypeScript bridge connects Claude Code to that server
- When Claude calls a tool, the bridge POSTs to the plugin, which executes on the game thread
- New C++ tools auto-appear in Claude — no TypeScript changes needed
Once UE5 is running with the plugin:
# Check if the server is responding
python tests/test_health.py
# Run integration tests (spawns actors, captures viewport, etc.)
python tests/test_tools.py
# Test world generation (creates and cleans up structures)
python tests/test_worldgen.pyCreate a handler in Source/.../Private/Handlers/:
#include "Tools/MCPToolBase.h"
#include "Tools/MCPToolRegistry.h"
class FTool_MyThing : public FMCPToolBase
{
public:
FMCPToolInfo GetInfo() const override
{
FMCPToolInfo Info;
Info.Name = TEXT("my_thing");
Info.Description = TEXT("Does a thing");
Info.Annotations.Category = TEXT("MyCategory");
return Info;
}
FMCPToolResult Execute(const TSharedPtr<FJsonObject>& Params) override
{
// UE5 API calls here...
TSharedPtr<FJsonObject> Result = MakeShared<FJsonObject>();
Result->SetStringField(TEXT("status"), TEXT("done"));
return FMCPToolResult::Ok(Result);
}
};
namespace UltimateMCPTools {
void RegisterMyTools() {
FMCPToolRegistry::Get().Register(MakeShared<FTool_MyThing>());
}
}Register it in UltimateMCPSubsystem.cpp and it auto-appears in Claude.
- Unreal Engine 5.7 (pre-built binary is compiled against 5.7 — source may work on 5.4+ with minor API tweaks)
- Node.js 18+
- Claude Code (or any MCP-compatible AI client)
MIT — do whatever you want with it.
This project wouldn't exist without:
- mirno-ehf/ue5-mcp — The Blueprint and Material editing tools are adapted from this project. Their HTTP server architecture, queued game-thread execution, and SEH crash safety patterns form the backbone of our plugin.
- Natfii/UnrealClaude — The tool registry pattern, smart tool routing (mega-tool collapsing), and context injection system are inspired by this project. Their MCP bridge architecture influenced our TypeScript wrapper.
- flopperam/unreal-engine-mcp — The actor management and procedural world generation (castles, towns, mazes) are ported from this project's Python algorithms.
- CLAUDIUS — The paid plugin that showed what a comprehensive UE5 AI integration should cover. Our new tool categories (Sequencer, Behavior Trees, Navigation, etc.) were inspired by their feature set.