Today we're shipping Unreal MCP Server v3.0.0-alpha.12 — a release that turns the plugin from "AI co-pilot for editor scripting" into a true closed-loop editor agent platform.
The headline numbers: 359 tools (up from 305), 15 resources, 11 prompts, organized across 50+ categories. But the tool count understates what changed. v3 adds three brand-new capability surfaces — PIE control, source control, and runtime debug — that together let an AI agent write code, hit Play, observe what happened, and fix itself, without a human in the loop until something needs review.
Launch pricing. Personal stays at $69.99 and Professional stays at $199.99 for the next 5 days. On 2026-05-07 they rise to $89.99 and $299.99 respectively. Existing v2 customers get v3 free — your license covers the entire 3.x line. → Lock in the launch price
The closed loop
This is the demo we kept showing internally and that finally convinced us to ship:
agent: tools/call create_blueprint_event
agent: tools/call pie_start { mode: "Selected" }
agent: tools/call pie_send_input { key: "SpaceBar", event: "Pressed" }
agent: tools/call pie_screenshot
agent: tools/call get_last_runtime_error
⤷ "AccessNone in BP_Player.OnJump → SkeletalMesh"
agent: tools/call edit_blueprint_function
agent: tools/call pie_stop
agent: tools/call pie_start { mode: "Selected" }
agent: ✅ no error this time
The agent runs that loop on its own. The nine new pie_* tools (pie_start, pie_stop, pie_pause, pie_resume, pie_step_frame, pie_send_input, pie_screenshot, pie_get_state, pie_attach_player_controller) are backed by GEditor->RequestPlaySession and APlayerController::InputKey via FInputKeyEventArgs::CreateSimulated. See the PIE Control docs for the full tour.
Pair PIE with the new Test Authoring tools (create_automation_spec, run_automation_specs, get_last_test_report, …) and the agent can scaffold and run UE automation specs end-to-end.
Source-control aware agents
Studios reject AI editor agents for one reason above all others: traceability. The eight new sc_* tools close that gap. They wrap ISourceControlModule, so they work against whatever provider the project has loaded — Perforce, Git LFS, Plastic, or Subversion — without the agent needing to know which.
{ "method": "tools/call", "params": {
"name": "sc_check_out",
"arguments": { "files": ["/Game/Blueprints/BP_Door.uasset"] }
} }
// ... agent edits ...
{ "method": "tools/call", "params": {
"name": "sc_submit",
"arguments": {
"files": ["/Game/Blueprints/BP_Door.uasset"],
"description": "agent run #4711: wire OnInteract → PlayDoorOpenSound"
}
} }
That's the difference between "someone changed BP_Door" and "agent run #4711 modified BP_Door at 14:32 with description X". Read the full Source Control walkthrough.
Production-safe by default
v3 (Phase B) introduces the security model studios kept asking for:
- Bearer-token auth. Set
bRequireAuthToken=trueand clients must sendAuthorization: Bearer <token>. Missing or invalid → 401. - Origin allow-list. Default
[http://localhost, http://127.0.0.1]. Non-allowed origins get 403. Replaces v2'sAccess-Control-Allow-Origin: *— the one breaking change in v3. - Read / Scene / Destructive scopes. Every tool refuses below its required scope. Set
bAllowDestructiveScope=Falsein CI environments and no caller can ever delete or submit, even with a valid token.
Plus three agent-ergonomics primitives that make autonomous loops actually work:
- Multi-call transactions (
transactions/begin|commit|rollback) collapse a sequence of edits into one Ctrl+Z step. - Dry-run wraps an opt-in tool call in a cancelled
FScopedTransactionso the agent can preview an effect. - Structured
EMCPErrortaxonomy with did-you-mean fuzzy suggestions onnot_found. The agent branches oncode, not text-matchingmessage.
Full reference at Security and Agent Ergonomics.
What's new at a glance
| Phase | New tools | Highlights |
|---|---|---|
| D.1 PIE Control | 9 | Closed-loop Play, screenshot, send input, runtime error capture |
| D.2 Source Control | 8 | Provider-agnostic Perforce / Git LFS / Plastic / SVN |
| D.3 Test Authoring | 5 | Scaffold + run automation specs synchronously |
| D.4 Runtime Debug | 7 | BP breakpoints, watches, last runtime exception, call stack |
| D.5 MetaSound Graph | 8 | Discovery + compile today; mutators schema-only pending dep |
| D.6 Modeling | 5 | Schemas only pending MeshModelingToolsExp dep |
| D.6 Material Layers | 4 | Read + add + remove + set blend, all implemented |
| D.7 Chaos / Destruction | 5 | chaos_apply_force implemented; rest schema-only |
| D.8 MetaHuman | 4 | List, set LOD, attach mesh; metahuman_import schema-only |
Plus Phase A (new MCP_TOOL builder + FMCPValidate validator layer; ~3000 LOC eliminated from tool registrations) and the architectural Phase B + C work above.
Migration from v2
For 99% of users: drop in the new plugin, restart the editor, you're done. Two things to watch:
- CORS. If you connect from a non-localhost browser, add the origin to
AllowedOrigins. - Engine version. v3 is Unreal Engine 5.7 only. UE 5.6 users should stay on v2.0.2 until you upgrade.
Existing v2 license keys unlock v3 automatically — no re-purchase, no upgrade fee.
What's deferred to v3.1
A handful of D.x bodies ship as schema-only Unsupported in alpha.12 — registered surface, no implementation yet. We chose this deliberately to keep the plugin loadable on projects without specific deps:
- Modeling tool bodies (need
MeshModelingToolsExp + ModelingComponents + GeometryCore) - MetaSound graph mutators (need
MetasoundFrontend) - Chaos asset creation tools (need
GeometryCollectionEngine + FractureEngine + ChaosCloth) metahuman_import(needs Quixel Bridge Python entry points)- WebSocket transport (needs vendored Boost.Beast or libwebsockets)
- Live
notifications/progressstreaming (needs async tool execution)
These are tracked on the Q3 2026 roadmap and will land in the v3.1 cycle.
Get it
→ Lock in launch pricing — 5 days only. → Read the v3 docs → Full changelog
If you want to see the closed loop in action, follow the PIE control tutorial.