FAB Description
ClaudeProMCP — AI Game Dev Studio brings the full power of Claude AI directly into your Unreal Engine 4.27 – UE 5.0+ editor as a native docked panel. Describe what you want in plain English and Claude executes it — spawning actors, building Blueprints, setting up lights and cameras, configuring AI behaviour trees, painting foliage, editing materials, managing sequences, and much more — through 200 live MCP editor tools that act on your project in real time without you ever leaving the editor.
Unlike generic AI chat tools, ClaudeProMCP speaks directly to the editor through a local Model Context Protocol (MCP) server running inside the engine process. Claude sees your tool list, chooses the right ones, and chains multiple operations together in a single request. The entire conversation streams token-by-token so you watch the reasoning and results appear live.
Whether you are a solo developer who wants to move faster, a team lead delegating repetitive setup work, or a technical artist who needs to iterate quickly on lighting and materials — ClaudeProMCP removes the friction between your idea and the editor state.
Technical Details
Features
- In-editor Claude AI chat panel — native Unreal Engine docked tab with streamed NDJSON responses
- 100 live MCP (Model Context Protocol) editor tools — Claude invokes them automatically during conversation
- Resilient dual HTTP + file-queue MCP transport with auto-porting, failover, and a self-healing watchdog
- PIE/runtime feedback loop, log error-digest, Blueprint/viewport diffing, automation tests, and undo transactions
- Module Library for importing and migrating reusable content modules and external UE projects
- Embedded ConPTY terminal (cmd / PowerShell / WSL) with ANSI colour, inside the panel
- Actor spawning, movement, property editing, and deletion via dedicated tools
- Blueprint query and modify — variables, functions, event graphs, node connections, recompile
- Animation Blueprint state machine editing — states, transitions, animation asset binding
- UMG Widget Blueprint tree creation — Canvas Panels, Text Blocks, Buttons, Images, event binding
- Light placement — Point, Spot, Directional, Rect, Sky Light with intensity, colour, and shadow settings
- Camera, Decal, and Post Process Volume placement with full parameter control
- Complete Character Blueprint scaffolding — mesh, movement, spring arm, camera, anim class
- AI toolset — Blackboard (typed keys), Behavior Tree (Sequence/Selector/Task nodes), NavMesh rebuild
- Level Sequence creation with actor bindings and transform keyframe tracks
- Material graph building — expression nodes, parameters, output connections, blending modes
- Sound Cue graph creation — Modulator, Random, Mixer, Attenuator, Looping nodes
- DataTable and CurveTable asset creation and row management
- BlendSpace, AnimMontage, Physics Asset, Control Rig, and IK Setup tools
- Enhanced Input (IMC + actions) and legacy UInputSettings axis/action mapping
- Asset search, dependency graph querying, and referencer lookup
- Python/Blueprint editor script execution with safety permission dialogs
- Async background task queue — long operations run without blocking the editor, with status polling
- Session persistence — full chat history saved and restored as JSON
- Project context injection — source classes, asset types, and level actors summarised automatically
- Foliage painting and Landscape actor creation
- Viewport screenshot capture and Output Log querying
- Configurable API key, model, allowed tools, and permission mode in Settings panel
- Quick-start prompt templates on the welcome screen — click to send
Code Modules
Project Statistics
Editor-only — no packaged build overhead; the plugin is stripped from shipping builds automatically.
Important Notes
npm install -g @anthropic-ai/claude-code) installed on the development machine. An Anthropic API key is required — enter it once in the plugin Settings panel.After installing the plugin, run once:
cd Plugins/ClaudeProMCP/Resources/UE4-Claude-mcp && npm installNote:
node_modules is not included in the Fab download (Fab policy prohibits executables). This one-time step installs the MCP bridge dependencies.
• EditorScriptingUtilities — required for
asset and filesystem tools• EnhancedInput — required for
enhanced_input tool• ControlRig — required for
control_rig tool (experimental)All three are optional; the remaining tools work without them.
FAppStyle, FTSTicker, FSavePackageArgs, etc.).
PostEngineInit, type Editor). It is automatically excluded from packaged/shipping builds and adds zero overhead to the final game.
Overview
ClaudeProMCP embeds a Claude AI chat panel directly inside Unreal Engine 4.27 – UE 5.0+. When you type a request, Claude reasons about what needs to happen and invokes the appropriate MCP tools to carry it out — spawning actors, writing Blueprints, configuring lights, painting foliage, building AI trees, and much more — all without you leaving the editor.
In-Editor Chat
Docked Slate panel with streaming responses, session save/load, and history.
200 Live Tools
MCP tools let Claude directly manipulate editor objects in real time.
Project Context
Plugin summarises your source classes and assets so Claude understands your project.
Streamed Responses
Responses stream token-by-token via NDJSON so you see output instantly.
Script Execution
Claude writes and runs Python/Blueprint editor scripts with permission dialogs.
Async Task Queue
Long operations run in the background; poll status without blocking the editor.
Requirements
| Component | Requirement |
|---|---|
| Unreal Engine | 4.27 – 5.x (Win64, Linux, Mac) |
| Node.js | v18.0 or newer — nodejs.org |
| Claude CLI | npm install -g @anthropic-ai/claude-code |
| Anthropic API key | Required — console.anthropic.com |
| Visual Studio (Win) | 2019 or 2022 with C++ workload |
| RAM | 16 GB recommended |
Installation
- Copy plugin folder — Place the
ClaudeProMCPfolder inside your project'sPlugins/directory (create the directory if it doesn't exist). - Install Node dependencies — Open a terminal in
Plugins/ClaudeProMCP/Resources/UE4-Claude-mcp/and run:npm install - Install Claude CLI — If not already installed:
npm install -g @anthropic-ai/claude-code - Open the project — Launch UE 4.27 / UE 5.0+ with your
.uproject. The plugin will compile on first open. Click Yes when prompted to rebuild. - Enable the plugin — If not enabled automatically, go to Edit → Plugins → Editor → ClaudeProMCP and enable it, then restart.
First-Time Setup
- Open the chat panel via Tools → ClaudeProMCP or press Ctrl+Shift+C.
- Click the ⚙ Settings button in the toolbar.
- Enter your Anthropic API key in the Account tab. Your key is stored locally in the editor's
Saved/folder and never sent anywhere except the Claude CLI. - Optionally select a model (defaults to Claude Sonnet).
- Click Save Settings and close the Settings panel.
- Type a prompt such as "List all actors in the current level" and press ▶ Send. The MCP bridge connects automatically on first send.
Saved/ClaudeProMCP/mcp-config.json each send. If the server is offline or you see "cannot reach UE4 server", make sure the editor is open and the plugin loaded.
UI Walkthrough
Toolbar Row 1 — Header
Shows the plugin title, live MCP status badge (green = connected, yellow = pending, red = error), version badge, and social links.
Toolbar Row 2 — Action Buttons
| Button | Action |
|---|---|
| + New | Start a fresh session — clears history and context |
| ↺ Restore | Restore the previous session from disk (enabled when a save exists) |
| 💾 Save | Save chat history to a JSON file |
| 📂 Load | Load a previously saved chat history |
| ⟳ Refresh | Re-scan source files, classes, and level actors for project context |
| 🗑 Clear | Clear the chat display without ending the session |
| ⎘ Copy | Copy the last AI response to clipboard |
| 🔌 MCP Status | Open http://localhost:3000/mcp/status in browser |
| 📋 Tool Schemas | Open http://localhost:3000/mcp/tools in browser |
| ⚙ Settings | Open the Settings panel |
Input Area
The Focus: field (optional) lets you specify a target for the prompt, e.g. BP_PlayerController, /Game/Blueprints/, or MyActor.h. This is prepended to the prompt so Claude knows what asset to focus on.
The main text area accepts multi-line prompts. Press ▶ Send (or Ctrl+Enter) to send. While waiting, the button changes to ✕ Cancel to abort the current request.
Welcome Card & Quick-Start Prompts
On first open (empty history), the welcome card displays quick-start example prompts. Click any prompt to send it immediately.
Tools — Actor & Level Editing
| Tool Name | Description | Type |
|---|---|---|
| spawn_actor | Spawn any UClass actor at a world location and rotation. Supports label and collision handling override. | Modifying |
| get_level_actors | Query actors in the current level. Filter by class, label substring, or tag. Returns name, label, class, location, rotation. | Read-only |
| delete_actors | Delete actors from the level by name or label array. Marks world dirty. | Modifying |
| move_actor | Set an actor's absolute or relative location, rotation, and scale by label. | Modifying |
| set_property | Set any UPROPERTY-reflected property on an actor or component. Supports nested property paths like RootComponent.RelativeLocation.X. | Modifying |
| open_level | Load a level by package path (e.g. /Game/Maps/MainLevel). Supports additive loading. | Modifying |
| level | Create new levels, duplicate existing ones, rename, or delete level packages. | Modifying |
Tools — Scripting & Console
| Tool Name | Description | Type |
|---|---|---|
| run_console_command | Execute any editor or runtime console command, e.g. stat fps, r.SetRes 1920x1080. | Modifying |
| execute_script | Write and run a Python or Blueprint editor utility script. Shows a permission dialog before execution. Runs asynchronously via the task queue. | Async |
| cleanup_scripts | Delete temporary scripts generated by execute_script from the Saved directory. | Modifying |
| get_script_history | List recently executed scripts: path, timestamp, and outcome. | Read-only |
| get_output_log | Retrieve the last N lines from the editor Output Log. Useful for diagnosing errors after other tool calls. | Read-only |
Tools — Blueprint
| Tool Name | Description | Type |
|---|---|---|
| blueprint_query | Read a Blueprint's variables, functions, components, and event graph nodes. Returns a structured summary. | Read-only |
| blueprint_api_search | Reflection search of the live Blueprint API by name — finds callable functions and visible properties on any class. | Read-only |
| blueprint_modify | Add or edit Blueprint variables, functions, components, event graph nodes, and wire connections. Recompiles on success. | Modifying |
| blueprint_spawn_node | Spawn any node via the Blueprint Action Database — CreateWidget, Make/Break Struct, Get All Actors Of Class, Format Text, and more. | Modifying |
| blueprint_list_nodes | List all nodes in a graph with their ids. | Read-only |
| blueprint_node_pins | Inspect a node's pins, types, and wiring. | Read-only |
| blueprint_compile | Compile a Blueprint and return errors and warnings. | Modifying |
| blueprint_move_node | Reposition a node in a graph. | Modifying |
| blueprint_autolayout | Dimension-aware, non-overlapping automatic graph layout. | Modifying |
| blueprint_validate | Heuristic detection of graph problems (dangling pins, unreachable nodes, etc.). | Read-only |
| blueprint_rename | Rename a variable, function, or graph. | Modifying |
| blueprint_graph_dump | Dump a graph's full node / pin / wiring structure. | Read-only |
| blueprint_action_search | Search the Action Database for spawnable menu titles (find the exact title for blueprint_spawn_node). | Read-only |
| blueprint_find_node | Find a node by title or type. | Read-only |
| anim_blueprint_modify | Create and edit Animation Blueprint state machines: add states, transitions, and set animation asset references. | Modifying |
Tools — Blueprint Scaffolds & UI
| Tool Name | Description | Type |
|---|---|---|
| blueprint_interface | Create Blueprint Interface assets and their functions. | Modifying |
| user_enum | Create User-Defined Enums and enumerators. | Modifying |
| user_struct | Create User-Defined Structs and their fields. | Modifying |
| save_game | Scaffold SaveGame classes. | Modifying |
| widget_blueprint | Create/edit UMG widget trees; scaffold resolution-safe layouts; set text/style; bind events; capture the design to an image. | Modifying |
Tools — Asset Management
| Tool Name | Description | Type |
|---|---|---|
| asset_search | Search the content browser by asset class, path prefix, or name substring. Returns package paths. | Read-only |
| asset_dependencies | List the assets that a given asset depends on (imports). | Read-only |
| asset_referencers | List the assets that reference (are used by) a given asset. | Read-only |
| asset | Create new assets, duplicate, rename, move, or delete content browser packages. | Modifying |
| filesystem | Read text files, write text files, list directories, and check file existence within the project. | Modifying |
| texture_inspect | Report a texture's dimensions, pixel format, and mip count. | Read-only |
| mesh_inspect | Report static / skeletal mesh triangle and vertex counts. | Read-only |
| validate_assets | Heuristic load-and-check pass that flags assets with errors. | Read-only |
| thumbnail_grab | Render an asset's thumbnail to an image. | Read-only |
| module_library | Browse, validate, copy, import, and migrate reusable content modules and whole external UE projects. The library ships empty — your first import auto-creates Content/ImportedProjects/, Content/Analysis/ and Content/ModuleRegistry.json; nothing is bundled. | Modifying |
Tools — Animation
| Tool Name | Description | Type |
|---|---|---|
| blendspace | Create BlendSpace1D or BlendSpace assets, set axis parameters, and add animation samples at (x, y) positions. | Modifying |
| anim_montage | Create an AnimMontage from an AnimSequence, add slots, and insert AnimNotify events. | Modifying |
| morph_target | Read available morph target names and current weights from a Skeletal Mesh Component, or set weights. | Modifying |
| ik_setup | Configure IK chains on a Skeletal Mesh: set end effectors, poles, and IK solver parameters. | Modifying |
| control_rig | Create Control Rig assets, add controls, and wire up forward-solve nodes in the rig graph. | Modifying |
| physics_asset | Create Physics Asset bodies and constraints for a Skeletal Mesh. Set collision geometry types and constraint limits. | Modifying |
Tools — Character
| Tool Name | Description | Type |
|---|---|---|
| character | Scaffold a complete Character Blueprint: Skeletal Mesh, Capsule, CharacterMovement, SpringArm, Camera. Sets anim class and input bindings. | Modifying |
| character_data | Read and write character stats: max walk speed, jump velocity, max health, crouch speed, and custom float properties. | Modifying |
Tools — World & Scene Editing
| Tool Name | Description | Type |
|---|---|---|
| place_light | Spawn a light actor. type: point | spot | directional | rect | sky. Params: location, rotation, intensity, color {r,g,b}, attenuation_radius, cast_shadows. Spot extras: inner/outer cone angles. Rect extras: source_width/height. | Modifying |
| place_camera | Spawn a CameraActor. Set FOV, aspect ratio, auto-activate for player, and enable Look At constraint. | Modifying |
| place_decal | Spawn a DecalActor. Set material, decal size, sort order, and fade screen size. | Modifying |
| set_world_settings | Edit AWorldSettings: gravity Z, global time dilation, default physics volume settings, kill Z, and the default game mode. | Modifying |
| add_post_process_volume | Create a Post Process Volume: bloom intensity/threshold, depth of field focal distance/aperture, auto exposure, colour grading (temperature, tint, saturation), vignette intensity, and unbound toggle. | Modifying |
| foliage_paint | Paint foliage instances from a FoliageType asset into the level. Set count, radius, and ground slope constraints. | Modifying |
| landscape_create | Create a Landscape actor with configurable section count, section size, and material assignment. | Modifying |
place_light with type=point, intensity=5000, and color={r:1, g:0.5, b:0.1} when you ask: "Spawn a point light at the center of the level with warm orange color and intensity 5000."
Tools — Input
| Tool Name | Description | Type |
|---|---|---|
| enhanced_input | Create Enhanced Input actions and Input Mapping Context assets. Add key mappings with modifiers and triggers. | Modifying |
| input_mappings | Read and write legacy UInputSettings axis and action mappings (pre-Enhanced Input). | Modifying |
Tools — Audio & Material
| Tool Name | Description | Type |
|---|---|---|
| material | Create Material assets or edit existing ones. Add Texture Sample, Constant, Multiply, Lerp, and other expression nodes. Set blending mode, shading model, and connect to output pins. | Modifying |
| sound_cue | Create Sound Cue assets and build the graph: SoundWave inputs, Modulator, Random, Mixer, Attenuator, and Looping nodes. | Modifying |
Tools — Data Assets
| Tool Name | Description | Type |
|---|---|---|
| data_table | Create DataTable assets, define UStruct row type, and add/edit/delete rows. Supports CSV-compatible data. | Modifying |
| curve_table | Create CurveTable assets and add named float curves with key/value pairs. | Modifying |
Tools — AI
| Tool Name | Description | Type |
|---|---|---|
| blackboard | Create Blackboard assets and add typed keys: Bool, Float, Int, Name, Object, String, Vector. | Modifying |
| behavior_tree | Create Behavior Tree assets. Add composite nodes (Sequence, Selector), decorator nodes, and Task nodes. Wire the tree hierarchy. | Modifying |
| nav_mesh_build | Trigger a full NavMesh rebuild on the current level and wait for completion. | Modifying |
Tools — Sequencer
| Tool Name | Description | Type |
|---|---|---|
| level_sequence | Create Level Sequence assets, add actor bindings, add transform tracks, and set keyframe values at specific frame times. | Modifying |
Tools — Networking
| Tool Name | Description | Type |
|---|---|---|
| replication_settings | Set replication rules on actor properties and components: Replicated, ReplicatedUsing, net role, and relevancy settings. | Modifying |
Tools — Async Task Queue
Long operations (e.g., script execution that triggers a compile) use the async task queue to avoid HTTP timeout. Claude submits a task and polls for completion.
| Tool Name | Description | Type |
|---|---|---|
| task_submit | Submit an operation to the background task queue. Returns a task ID. | Async |
| task_status | Poll a task by ID: returns pending, running, completed, or failed. | Read-only |
| task_result | Retrieve the full result payload of a completed task. | Read-only |
| task_list | List all tasks and their statuses. | Read-only |
| task_cancel | Cancel a pending or running task by ID. | Modifying |
Tools — Viewport & Capture
| Tool Name | Description | Type |
|---|---|---|
| capture_viewport | Capture the active editor viewport as an image (returned to Claude as an image block). | Read-only |
| viewport_compare | Baseline and compare viewport pixels, reporting the mean per-channel difference — useful for verifying visual changes. | Read-only |
Tools — PIE & Runtime
Close the loop: run the game in-editor, read live state, drive input, and call functions so Claude can verify what it built actually works.
| Tool Name | Description | Type |
|---|---|---|
| play_in_editor | Start, stop, or query Play-In-Editor / Simulate sessions. | Modifying |
| pie_get_state | Read live actor state (properties) from the running PIE world. | Read-only |
| pie_inject_input | Inject key or axis input into the running game. | Modifying |
| pie_call_function | Call a UFunction on a running actor with parameters. | Modifying |
| runtime_watch | Register and poll watched runtime values across frames. | Read-only |
Tools — Verification & Debugging
| Tool Name | Description | Type |
|---|---|---|
| error_digest | Classify and group recent Output Log errors and warnings by category. | Read-only |
| blueprint_diff | Snapshot a Blueprint's graph signatures and diff them after edits. | Read-only |
| run_automation_test | List and run automation tests, reporting pass/fail with error counts. | Modifying |
Tools — Transactions
| Tool Name | Description | Type |
|---|---|---|
| transaction | Begin, commit, or cancel an undo transaction wrapping a set of edits. | Modifying |
| undo_redo | Undo or redo the last editor transaction. | Modifying |
Tools — Project Intelligence
| Tool Name | Description | Type |
|---|---|---|
| project_index | Index maps, input settings, and /Game asset tallies for project orientation. | Read-only |
| find_references_deep | Deep cross-Blueprint reference search for a symbol name. | Read-only |
| rename_refactor | Rename a member or graph and fix external referencers. | Modifying |
| convention_note | Persistent project memory (get / set / append / delete / list) stored across sessions. | Modifying |
Tools — Editor Utilities
| Tool Name | Description | Type |
|---|---|---|
| system_info | Report engine, project, and platform information. | Read-only |
| list_plugins | List enabled plugins. | Read-only |
| garbage_collect | Force a garbage-collection pass and report the object count. | Modifying |
| save_all | Save all dirty packages. | Modifying |
| get_selected_actors | List the currently selected actors. | Read-only |
| select_actors | Select actors by name or label. | Modifying |
| focus_viewport | Focus the viewport camera on an actor. | Modifying |
| editor_notify | Show an editor toast notification. | Modifying |
| console_variable | Get or set a console variable. | Modifying |
| class_info | Reflection counts and info for a UClass. | Read-only |
| open_asset | Open an asset in its editor. | Modifying |
MCP Server Architecture
The plugin runs a lightweight HTTP server inside the editor process on http://localhost:3000 (auto-porting to 3001–3010 if the port is busy, so multiple editors don't collide). The Claude CLI connects to it through a Node.js MCP stdio bridge (Resources/UE4-Claude-mcp/index.js).
Saved/ClaudeProMCP/mcp/ if HTTP is unreachable. An editor-side watchdog auto-restarts the server, and the bridge re-lists tools when the editor comes online — so the connection survives editor restarts, port collisions, and mid-session stops without a rebuild.
Endpoints
| Method | Path | Description |
|---|---|---|
GET | /mcp/status | Server status, port, version, tool count |
GET | /mcp/tools | Full JSON schema for all registered tools |
POST | /mcp/tool/{name} | Execute a tool — body is flat JSON params |
Bridge Config
On each send, the plugin writes a temporary config to Saved/ClaudeProMCP/mcp-config.json pointing to the bridge at its absolute install path, then passes --mcp-config to the Claude CLI. No manual claude mcp add step is needed.
node_modules to be installed. If you see "MCP bridge not found" errors, run npm install in Plugins/ClaudeProMCP/Resources/UE4-Claude-mcp/.
Troubleshooting
MCP server not connecting / tools not available
- Make sure the Unreal Editor is open with the plugin loaded (check the Output Log for "MCP Server started on http://localhost:3000").
- Run
npm installinPlugins/ClaudeProMCP/Resources/UE4-Claude-mcp/if not already done. - Visit
http://localhost:3000/mcp/statusin a browser. If it responds, the server is running. - Check Output Log → LogClaudeProMCP for "MCP config written to:" — if missing, the bridge path wasn't found.
Empty responses from Claude
- Verify the Claude CLI is installed: run
claude --versionin a terminal. - Check your API key is set in Settings → Account.
- Test the CLI directly from the project directory:
echo '{"type":"user","message":{"role":"user","content":[{"type":"text","text":"say pong"}]}}' | node "C:/Users/YourName/AppData/Roaming/npm/node_modules/@anthropic-ai/claude-code/cli.js" -p --output-format stream-json --input-format stream-json
Plugin fails to compile after updating
- Fully close the editor (verify no
UE4Editor.exein Task Manager). - Delete
Plugins/ClaudeProMCP/Binaries/andPlugins/ClaudeProMCP/Intermediate/. - Right-click the
.uproject→ Generate Visual Studio project files, then open and build in Visual Studio.
"Tool not in deferred toollist"
This means the MCP bridge launched but returned zero tools (Unreal Editor server unreachable). Follow the MCP connection steps above.
LogClaudeProMCP to see all plugin activity: server start, config writes, tool registrations, and execution results.
FAQ
Does this work with UE5?
Yes. This plugin supports UE 4.27 through UE 5.0+. The codebase has been fully updated to the current UE5 API surface (FAppStyle, FTSTicker, FSavePackageArgs, and more).
Is an internet connection required?
Yes, the Claude CLI makes API calls to Anthropic's servers. Your prompts and project context are sent as part of the API request.
Can I use the free Claude tier?
Yes, but free tier has rate limits. For heavy use, a paid Anthropic plan is recommended.
Where are API keys stored?
API keys are stored in Saved/ClaudeProMCP/settings.json on your local machine. They are never sent anywhere except the Claude CLI process.
Can Claude modify C++ source files?
Claude can read and write files via filesystem and run editor scripts via execute_script, but it does not have a native C++ compiler integration. It can write C++ source and suggest you rebuild manually.
How do I add a custom MCP tool?
Derive a class from FMCPToolBase, implement GetInfo() and Execute(), then call RegisterTool(MakeShared<YourTool>()) in FMCPToolRegistry::RegisterBuiltinTools().
Support & Community
GitHub
Report bugs and browse source code.
github.com/Alpha-xp5-ai
