---
type: concept
topic: ue-mcp-strategy
status: active
created: 2026-06-16
updated: 2026-06-16
source_notes:
  - "[[research/ue-mcp-strategy/sources/ue-reflection-and-scripting-apis]]"
derived_from:
  - web-research
confidence: high
shared_concept:
---
# Unreal Engine Runtime Architecture (for the MCP question)

## What It Is (plain terms)
UE is C++ at the core, but Epic bolted a **reflection system** on top: macros (`UCLASS`, `UPROPERTY`, `UFUNCTION`) annotate classes, and the Unreal Header Tool generates machine-readable metadata about them at compile time. That one metadata layer is what powers Blueprints (visual scripting), the in-editor **Python** API, Editor Utility Widgets, serialization, replication, and the **Remote Control** web server. Authoring happens in the **editor**; shipping requires a **cook** that converts editor assets into platform-specific runtime formats.

## Why It Matters for the MCP-vs-Harness Question
An MCP needs a tool surface to call. UE already has one — reflection plus the Python/Remote Control APIs — and it is *the same surface* Blueprints use. So an MCP isn't inventing access; it's wrapping access that already exists and is already battle-tested by the editor itself. This is the strongest technical argument that opening an MCP is incremental, not a ground-up build.

## Key Mechanics / Facts
- Reflection is **opt-in**: only annotated types are visible. The surface is curated, not total.
- The Python `unreal` module **dynamically mirrors whatever C++ exposes to Blueprint** — so "agent-reachable" ≡ "Blueprint-reachable."
- Remote Control runs an **in-engine HTTP/WebSocket server**; disabled by default in packaged builds (an editor-time, virtual-production tool).
- The **cook** (`BuildCookRun` via UAT) is the editor→runtime gate; MCP-authored content must survive it to be real shippable content.
- Gameplay framework: Actor/Component, server-only **GameMode**, replicated **GameState**; replication itself is driven by reflected `UPROPERTY(Replicated)`.
- **Verse/UEFN** is a parallel, Epic-controlled authoring substrate — and Epic pointedly chose Verse over Blueprints there.

## The "UE Is Already Introspectable" Claim — How True?
Substantially true, importantly incomplete. **True:** reflection + Python + Remote Control are real, and multiple community MCP servers already drive UE5 today (GenOrca, chongdashu, remiphilippe, ChiR24). **Incomplete:** the surface is (1) opt-in and (2) editor-time, not runtime; (3) those servers are hand-authored bridges with C++/Python plugins — the introspection is free, the *tool definitions and ergonomics are not*; and (4) the hard problem is the model's *competence* at using the surface, which introspection doesn't touch. The `execute_python` escape hatch in real servers is literally the reflection layer — proof it's load-bearing, and proof the surface alone isn't the product.

## Tensions / Contradictions
- "Cheap because the surface exists" vs. "the labor is the curated toolset + keeping it UE-advantaged, not the introspection."
- Editor-time authoring (survives cook → shippable) vs. Remote Control being runtime-poking that's *off* in shipped builds.
- The reflection/Blueprint world vs. Verse — Epic may invest the agent interface where it owns the whole stack.

## Critical Questions (where this could be wrong)
- Is the right substrate UObject reflection or **Verse** (which Epic controls end-to-end)?
- Does "introspectable" overstate it when the surface is opt-in and someone must still author + maintain UE-advantaged tools?
- Does an open standard make those tools portable enough to commoditize UE? (See [[research/ue-mcp-strategy/concepts/the-bear-case|The Bear Case]].)

## Related Concepts
- [[research/ue-mcp-strategy/concepts/mcp-as-tooling-surface|MCP as Tooling Surface]]
- [[research/ue-mcp-strategy/concepts/harness-vs-mcp|Harness vs MCP]]
- [[research/ue-mcp-strategy/concepts/ue-value-capture-map|UE Value Capture Map]]
- [[research/ue-mcp-strategy/concepts/ai-content-generation-frontier|AI Content Generation Frontier]]
- [[research/ue-mcp-strategy/concepts/runtime-gravity-and-lock-in|Runtime Gravity and Lock-In]]
- [[research/ue-mcp-strategy/concepts/the-bear-case|The Bear Case]]

## Sources
- [[research/ue-mcp-strategy/sources/ue-reflection-and-scripting-apis]]
