Unreal Engine 5 · AI Blueprint Generator

AI Blueprints,
Inside Unreal Engine

Describe game logic in plain English. The plugin runs directly inside Unreal Engine, calls AI, and creates fully wired, compiled Blueprints. No Node.js. No terminal. No server.

⬇ Download Plugin v1.1.0 ⭐ GitHub Source
3
Steps to Install
0
Extra Software
UE5
Compatible
Python
No Compilation

How It Works

Everything happens inside Unreal Engine. You type a prompt — the plugin calls AI and builds the Blueprint. No middleman.

💬
Your Prompt
Plain English
🎮
UE5 Plugin
Python · inside Unreal
🧠
OpenAI API
Blueprint commands
📋
Blueprint
Compiled in-engine

What the Plugin Does

A Python-based Unreal Editor plugin — no compilation needed. You type a prompt; it calls OpenAI and builds the Blueprint entirely inside the editor.

🤖

Direct AI Integration

Plugin calls OpenAI directly from inside Unreal using Python's built-in urllib. No external server, no Node.js, no terminal. Just type a prompt.

OpenAI gpt-4o-miniurllib.requestNo external server
📋

Blueprint Creation

Creates UBlueprint assets under /Game/MCP/, sets parent class (Actor, Character, Pawn, etc.), and registers them in the Asset Registry instantly.

asset_tools.create_assetBlueprintEditorLibrary/Game/MCP/
🔗

Node Graph Editing

Adds nodes to EventGraph by Unreal name (Event BeginPlay, Branch, Print String, AI Move To, Timeline…), positions them on the graph, and allocates default pins.

add_function_call_nodeadd_timeline_nodeadd_cast_node
📦

Variable Management

Adds typed member variables (Boolean, Float, Int, String, Vector, Rotator) and sets default values on the CDO via FBlueprintEditorUtils.

add_member_variableBoolean·Float·Vectorset_default_value

Auto Compile

Calls unreal.BlueprintEditorLibrary.compile_blueprint() after every command. Saves the asset automatically. Errors returned in the JSON response.

compile_blueprint()save_asset()Error feedback
🔄

Execution Translator

API endpoint (/api/translate) normalises raw MCP JSON into clean Blueprint Manager format — explicit fields, canonical node names, guaranteed unique IDs, compile step last.

POST /api/translateNode normalisationPin mapping

3 Steps. That's It.

No Node.js. No terminal. No compilation. No external server. Just download, drop the folder in, and type prompts.

✓ No Node.js
✓ No terminal
✓ No compilation
✓ Windows · Mac · Linux
✓ Unreal Engine 5.0+
1

Download the zip and put the plugin folder in your project

1a — Download and extract

Click the button below. Extract the zip. You'll get a folder called MCPBlueprint.

1b — Find your Unreal project folder

This is the folder that contains your .uproject file. For example:

C:UsersYouDocumentsUnreal ProjectsMyGame MyGame.uproject ← this file tells you you're in the right place Content Config

1c — Create a Plugins folder (most projects don't have one yet — that's normal)

Inside your project folder, right-click on empty space:

Windows: Right-click → New → Folder → name it "Plugins" Mac: Right-click → New Folder → name it "Plugins"

⚠️ It must be spelled exactly Plugins with a capital P. No spaces.

1d — Copy the whole MCPBlueprint folder into Plugins

Take the entire MCPBlueprint folder — the folder itself, not just the files inside it — and copy it into Plugins.

✅ CORRECT
Plugins└── MCPBlueprint ├── MCPBlueprint.uplugin └── Content

The whole MCPBlueprint folder is inside Plugins

❌ WRONG
Plugins├── MCPBlueprint.uplugin └── Content

Don't put the files directly in Plugins — the folder needs to be there

✓ Done when you can click into Plugins → MCPBlueprint and see MCPBlueprint.uplugin inside.

2

Enable the plugin in Unreal → restart

Open your project in Unreal Engine.
Go to Edit → Plugins. Search for "MCP Blueprint Generator".
Check the box to enable it. Click Restart Now.

After restart, open Window → Output Log. You should see:

[MCPBlueprint] MCP Blueprint Generator loaded. [MCPBlueprint] Set your key with: import ai_panel; ai_panel.set_key('sk-...')

✓ Plugin is installed and running.

3

Open the Output Log and switch to Python mode

In Unreal, go to Window → Output Log. At the very bottom of the Output Log panel there is a text input bar. On the left side of that bar is a dropdown — click it and select Python.

Can't see the input bar? Drag the bottom edge of the Output Log panel to make it taller — the input is at the very bottom.
4

Enter your OpenRouter API key — one time only

Click in the Python input box and paste this, replacing the key with your real one. Press Enter.

import ai_panel; ai_panel.set_key("sk-or-v1-your-openrouter-key")

The key is saved to your computer. You never need to type this again — even after restarting Unreal.

Get a free OpenRouter key → openrouter.ai/keys — one key gives you access to Claude, Gemini, DeepSeek, and GPT-4o. Keys start with sk-or-v1-.
5

Pick a model (optional) and generate

The default model is Claude Sonnet 4.5. To switch, use set_model() — then just run() your prompt:

Claude (Anthropic)
ai_panel.set_model("claude-sonnet-4.5") # recommended ai_panel.set_model("claude-opus-4.5") # most capable ai_panel.set_model("claude-3.7-sonnet") ai_panel.set_model("claude-3.7-sonnet-think") # with reasoning ai_panel.set_model("claude-haiku-4.5") # fastest
Gemini (Google)
ai_panel.set_model("gemini-2.5-pro") # best overall ai_panel.set_model("gemini-2.5-flash") # fast + smart ai_panel.set_model("gemini-3.1-pro") # latest ai_panel.set_model("gemini-3-flash") ai_panel.set_model("gemini-2.0-flash") # lightweight
DeepSeek
ai_panel.set_model("deepseek-v3.2") # best coder ai_panel.set_model("deepseek-v3.2-speciale") ai_panel.set_model("deepseek-r1") # with reasoning ai_panel.set_model("deepseek-r1-0528") # latest R1 ai_panel.set_model("deepseek-r1-chimera") # R1T2 hybrid
GPT-4o (OpenAI)
ai_panel.set_model("gpt-4o") ai_panel.set_model("gpt-4o-mini") # cheapest
Utilities
ai_panel.list_models() # print all models ai_panel.status() # show current settings

Then generate:

ai_panel.run("Create an enemy that chases the player") ai_panel.run("Create a door that opens when the player walks near it") ai_panel.run("Create a health pickup that gives 25 health on overlap") ai_panel.run("Create a turret that rotates toward the player every tick") ai_panel.run("Create a timer that ends the game after 60 seconds")

Watch the Output Log:

[MCPBlueprint] Prompt: "Create an enemy that chases the player" [MCPBlueprint] Model: anthropic/claude-sonnet-4.5 [MCPBlueprint] Calling OpenRouter... [MCPBlueprint] AI returned 7 commands → BP_Enemy [MCPBlueprint] SUCCESS — BP_Enemy created (7/7 commands) [MCPBlueprint] Find it in Content Browser → /Game/MCP/BP_Enemy

✓ Open Content Browser → MCP folder. Blueprint is there, fully wired and compiled.

You can also pass model inline: ai_panel.run("prompt", model="gemini-2.5-pro")

🔑
Get your OpenRouter API key

Go to openrouter.ai/keys → sign in → click Create Key. One key gives you access to Claude, Gemini, DeepSeek, GPT-4o and 300+ other models. Keys start with sk-or-v1-.

🙋 Stuck?

Open an issue on GitHub and paste what you see in the Output Log.

MCP JSON → Executable Format

Paste raw MCP Blueprint commands on the left. The translator normalises node names, assigns unique IDs, makes all fields explicit, and ensures compile_blueprint always runs last — ready for POST /unreal/execute.

Raw MCP Input MCP JSON
Executable Output
Blueprint Manager JSON
← Paste MCP JSON and click Translate to see the normalised executable format.

Command Schema

All six Blueprint commands the AI can generate. These are sent directly from the plugin to Unreal's Blueprint editor API.

📦

create_blueprint

{ "action": "create_blueprint", "name": "BP_MyActor", "parent_class": "Actor" }

add_node

{ "action": "add_node", "blueprint": "BP_MyActor", "node": "Event BeginPlay", "id": "node_0", "x": 0, "y": 0 }
🔗

connect_nodes

{ "action": "connect_nodes", "blueprint": "BP_MyActor", "from_node": "node_0", "from_pin": "Then", "to_node": "node_1", "to_pin": "Execute" }
📋

add_variable

{ "action": "add_variable", "blueprint": "BP_MyActor", "variable_name": "Health", "variable_type": "Float", "default_value": 100.0 }
✏️

set_variable

{ "action": "set_variable", "blueprint": "BP_MyActor", "variable_name": "Health", "value": "75" }

compile_blueprint

{ "action": "compile_blueprint", "name": "BP_MyActor" }

Download the Plugin

Drop the folder in, enable it, type prompts. That's it. No Node.js, no terminal, no compilation. MIT licensed, open source.

Unreal Engine 5.1+ · Python Script Plugin · MIT License · No compilation required