PYTHON-FIRST ARCHITECTURE
VibeUE uses a Python-first architecture that gives AI assistants full access to Unreal Engine through MCP discovery tools and specialized Python services.
Discover APIs at runtime, execute Python code in Unreal context, and use high-level services for common game development tasks.
🏗️ How It Works
MCP Discovery Tools
Lightweight tools for exploring and executing Python in Unreal
Python API Services
High-level services for common game development tasks
Full Unreal Python API
Direct access to all unreal.* modules
Load Skills → Discover API → Execute Code Workflow
🔍 MCP Discovery & Execution Tools
Lightweight MCP tools for exploring and executing Python code in Unreal Engine context
discover_python_module
Inspect module contents - classes, functions, and constants available in any Python module
discover_python_class
Get class methods, properties, and inheritance hierarchy for any class
discover_python_function
Get function signatures, parameters, and docstrings for any callable
execute_python_code
Run Python code directly in Unreal Editor context with full API access
list_python_subsystems
List all available Unreal Engine editor subsystems accessible via Python
manage_skills
Load domain-specific knowledge (blueprints, materials, etc.) for better AI assistance
read_logs
Read and filter Unreal Engine log files with regex support for debugging and analysis
Example: Discovering an API
# 1. Discover what's in a service
discover_python_class("unreal.BlueprintService", method_filter="variable")
# Response shows methods like:
# - add_variable(path, name, type, default_value, ...)
# - remove_variable(path, name)
# - list_variables(path)
# - get_variable_info(path, name)
# 2. Execute code using discovered API
execute_python_code("""
import unreal
path = unreal.BlueprintService.create_blueprint("BP_Player", "Actor", "/Game/Blueprints")
unreal.BlueprintService.add_variable(path, "Health", "Float", "100.0")
unreal.BlueprintService.compile_blueprint(path)
""") 🐍 VibeUE Python API Services
High-level services exposed to Python for common game development tasks. All accessible via unreal.<ServiceName>.<method>()
📘 BlueprintService
73 methodsComplete Blueprint lifecycle, variables, functions, components, and nodes
▶ View all 73 methods
🎬 AnimGraphService
38 methodsAnimation Blueprint state machines, states, transitions, and animation nodes
▶ View all 38 methods
🎞️ AnimSequenceService
75 methodsAnimation sequence CRUD: discovery, creation, bone tracks, notifies, curves, sync markers, root motion
▶ View all 75 methods
🥊 AnimMontageService
55 methodsAnimation montages with sections, slots, segments, branching points, and blend settings for combo systems
▶ View all 55 methods
🦴 SkeletonService
47 methodsSkeleton & skeletal mesh manipulation: bones, sockets, retargeting, curves, blend profiles
▶ View all 47 methods
🎨 MaterialService
29 methodsMaterial and material instance creation, properties, and parameters
▶ View all 29 methods
🔗 MaterialNodeService
21 methodsMaterial graph expressions and connections
▶ View all 21 methods
🖼️ WidgetService
16 methodsUMG widget blueprints and components
▶ View all 16 methods
🎮 InputService
23 methodsEnhanced Input actions, contexts, modifiers, and triggers
▶ View all 23 methods
📁 AssetDiscoveryService
19 methodsAsset search, import/export, and references
▶ View all 19 methods
📊 DataAssetService
11 methodsUDataAsset instances and properties
▶ View all 11 methods
📋 DataTableService
15 methodsDataTable rows and structure management
▶ View all 15 methods
🧩 EnumStructService
20 methodsUser-defined enums and structs: create, edit, inspect, and delete
▶ View all 20 methods
🏗️ ActorService
24 methodsLevel actor management - discovery, transforms, selection, spawning
▶ View all 24 methods
📸 ScreenshotService
6 methodsCapture editor windows and viewports for AI vision capabilities
▶ View all 6 methods
✨ NiagaraService
37 methodsCreate and manage Niagara VFX systems, emitters, parameters, settings discovery, and rapid iteration values
▶ View all 37 methods
🔥 NiagaraEmitterService
23 methodsManage Niagara emitter modules, renderers, and script properties
▶ View all 23 methods
📋 ProjectSettingsService
16 methodsConfigure project settings, editor preferences, UI appearance, and default maps
▶ View all 16 methods
⚙️ EngineSettingsService
23 methodsControl engine configuration: rendering, physics, audio, CVars, scalability, and garbage collection
▶ View all 23 methods
⚡ Full Unreal Engine Python API
Beyond the VibeUE services, you have direct access to ALL Unreal Engine Python APIs
unreal.EditorAssetLibrary
Asset operations - load, save, delete, duplicate, rename
unreal.EditorLevelLibrary
Level manipulation - actor spawning, selection, transforms
unreal.EditorUtilityLibrary
Editor utilities - selection, filtering, batch operations
unreal.SystemLibrary
System functions - paths, platform info, console commands
unreal.BlueprintEditorLibrary
Blueprint editor operations - compile, open, navigate
And Many More...
Full access to everything Unreal exposes via Python
🔧 Common Workflows
Create Blueprint with Variables
import unreal
# Create blueprint
path = unreal.BlueprintService.create_blueprint(
"BP_Player", "Actor", "/Game/Blueprints")
# Add variables
unreal.BlueprintService.add_variable(
path, "Health", "Float", "100.0")
unreal.BlueprintService.add_variable(
path, "MaxHealth", "Float", "100.0")
# Compile (REQUIRED before variable nodes)
unreal.BlueprintService.compile_blueprint(path)
# Save
unreal.EditorAssetLibrary.save_asset(path) Build Material Graph
import unreal
# Create material
path = "/Game/Materials/M_Custom"
unreal.MaterialService.create_material(
"M_Custom", "/Game/Materials")
# Create color parameter
param_id = unreal.MaterialNodeService.create_parameter(
path, "Vector", "BaseColor", "Surface", "", -300, 0)
# Connect to material output
unreal.MaterialNodeService.connect_to_output(
path, param_id, "", "BaseColor")
# Compile
unreal.MaterialService.compile_material(path) 🧠 Skills System - Domain Knowledge
18 lazy-loaded domain knowledge modules help AI understand critical rules, workflows, and common mistakes
blueprints
Lifecycle, variables, functions, nodes
animation-blueprint
State machines, states, transitions
animsequence
Keyframes, curves, notifies
animation-montage
Sections, slots, combo timing
materials
Creation, graph editing
enhanced-input
Actions, mappings, triggers
data-tables
Rows, JSON import/export
data-assets
Instances, properties
enum-struct
User-defined enums & structs
umg-widgets
UI creation, styling
level-actors
Manipulation, spawning
asset-management
Search, import/export
screenshots
Editor window capture
niagara-systems
VFX system creation
niagara-emitters
Emitter modules
skeleton
Bones, sockets, retargeting
project-settings
Project config, editor prefs
engine-settings
CVars, scalability, physics
Using Skills
# List available skills
manage_skills(action="list")
# Load a specific skill for domain knowledge
manage_skills(action="load", skill_name="blueprints")
# Load multiple skills
manage_skills(action="load", skill_names=["blueprints", "enhanced-input"]) Have Questions About the Python API?
Check out our comprehensive FAQ covering installation, features, use cases, and troubleshooting.
📚 View FAQReady to Use the Python API?
Start exploring Unreal Engine with AI-powered Python development