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 53 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
- 53 live MCP (Model Context Protocol) editor tools — Claude invokes them automatically during conversation
- 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 file_system tools• EnhancedInput — required for
enhanced_input tool• ControlRig — required for
control_rig tool (experimental)All three are optional; the remaining 45 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.
53 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_modify | Add or edit Blueprint variables, functions, event graph nodes, and wire connections. Recompiles the Blueprint on success. | Modifying |
| anim_blueprint_modify | Create and edit Animation Blueprint state machines: add states, transitions, and set animation asset references. | Modifying |
| widget_blueprint | Create UMG Widget Blueprints and edit the widget tree: add Canvas Panels, Text Blocks, Buttons, Images, and bind events. | 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 |
| file_system | Read text files, write text files, list directories, and check file existence within the project. | Modifying |
Tools — Animation
| Tool Name | Description | Type |
|---|---|---|
| blend_space | 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 |
MCP Server Architecture
The plugin runs a lightweight HTTP server inside the editor process on http://localhost:3000. The Claude CLI connects to it through a Node.js MCP stdio bridge (Resources/UE4-Claude-mcp/index.js).
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 file_system 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