Lead Developer · 2025 - Present
Loom
AI-to-Blueprint bridge for non-programmers on a game team
43
MCP Tools
40
C++ Commands
6
Team Usage
BlueprintIR
IR Format
43
MCP Tools
Atomic UE5 operations exposed to AI assistants
40
C++ Commands
Blueprint manipulation commands in the UE5 plugin
6
Team Usage
Hiraeth team members using Loom as primary workflow
BlueprintIR
IR Format
Custom semantic representation for Blueprint graphs
The Bottleneck
On the Hiraeth project, every gameplay idea from artists, designers, and writers funneled through the same bottleneck: a programmer had to translate it into Blueprints or C++. The backlog of requested changes grew faster than I could process them, and the team was losing creative momentum waiting for implementation. Blueprint visual scripting exists, but it still requires programming thinking — loops, branches, execution flow, variable scoping. Non-programmers would open the editor, stare at the node graph, and close it. They understood what they wanted the game to do. They just could not express it in a visual programming language designed for engineers. Meanwhile, AI coding assistants like Claude could write code, but they had no way to understand a UE5 project structure, read existing Blueprints, or create new ones. The gap between natural language and game engine was the actual bottleneck.
- Every gameplay iteration blocked on a single programmer manually translating design requests into Blueprint node graphs
- Blueprint visual scripting still requires programming mental models — loops, branches, variable scoping — that non-engineers lack
- AI coding assistants had no way to read, write, or understand UE5 project files and Blueprint graphs natively
- No standard protocol existed for structured, reliable AI-to-game-engine communication over a stable interface
The Architecture
Loom connects AI assistants to Unreal Engine through three layers: a Python MCP server that speaks the Model Context Protocol, a custom intermediate representation called BlueprintIR that makes Blueprint graphs machine-readable, and a C++ editor plugin that executes commands inside UE5. The key insight was that AI does not need to manipulate raw binary Blueprint files — it needs a semantic layer that represents what nodes mean, not how they are stored. BlueprintIR is that layer.
BlueprintIR
A semantic intermediate representation that translates Blueprint node graphs into structured data AI can reason about. Instead of raw binary, AI sees typed nodes, connections, and execution chains with full context about what each node does and how data flows between them.
MCP Protocol Layer
43 tools, each handling one atomic UE5 operation: create actor, add component, set property, wire execution pins, compile Blueprint. By keeping each tool focused on a single operation, the AI can compose complex behaviors from simple building blocks. Any MCP-compatible AI assistant can drive them without UE5-specific training.
C++ Editor Plugin
40 Blueprint manipulation commands compiled directly into UE5 as an editor plugin. Handles the actual node creation, graph modification, property assignment, and compilation inside the editor. The plugin validates every operation before executing it, catching errors before they corrupt a Blueprint graph.
TCP Bridge
Connects the Python MCP server to the C++ plugin over TCP with JSON-RPC 2.0 messaging, heartbeat monitoring, and automatic reconnection. If UE5 restarts or the editor plugin reloads, the bridge recovers without losing the AI session state.
MCP Tool Registration
Each of the 43 tools follows this pattern. The FastMCP decorator exposes the function to any MCP-compatible AI assistant, and the TCP bridge forwards the command to the C++ plugin running inside UE5. This is the actual interface between natural language and game engine — a team member describes what they want, the AI translates it into tool calls, and the plugin executes them inside the editor.
View Code
@mcp.tool()
async def create_blueprint(
name: str,
parent_class: str = "Actor",
path: str = "/Game/Blueprints",
) -> str:
"""Create a new Blueprint asset in the UE5 project."""
result = await bridge.send_command(
"create_blueprint",
{"name": name, "parent_class": parent_class, "path": path},
)
return f"Created {result['asset_path']}"Technical Stack
Full Stack Details
Server
Engine Plugin
Communication
AI Integration
Where It Stands
Loom is at phase 11 of development, roughly 70% complete. All six Hiraeth team members use it as their primary Blueprint workflow, including team members who had never successfully created a Blueprint before. The core MCP server, C++ plugin, and TCP bridge are stable and handle the daily development load. BlueprintIR analysis and anti-pattern detection are still being refined — the goal is to catch common Blueprint mistakes like missing execution pins or unconnected output nodes before the AI even submits them. The iteration speed on gameplay prototyping has fundamentally changed because ideas no longer wait in a programmer queue.
- Non-programmers on the team successfully creating Blueprint game logic through natural-language prompts for the first time ever
- 43 MCP tools covering the full Blueprint asset creation, node manipulation, and compilation lifecycle
- Exec-chain BFS traversal for reading, understanding, and analyzing existing Blueprint control flow graphs in any project
- Built-in anti-pattern detection that catches common Blueprint mistakes before they reach the UE5 compiler
- Full round-trip workflow: describe desired behavior in plain English, generate BlueprintIR, compile to nodes, and test in editor