Skip to content
cccskills
FreePublished on GitHub

bdb-unreal-mcp

Utilizes the Unreal Engine MCP server to control UE5 via a native C++ Automation Bridge plugin.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md8.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Unreal Engine MCP — Integration and AI Agent Guide

This skill file instructs AI agents on how to interact with the Unreal Engine 5.8+ MCP Server. It details the tool capabilities, API schemas, design patterns, workflows, scripting rules, and troubleshooting steps for asset management, actor manipulation, and level automation.

1. Overview and Pipeline Value

The Unreal Engine MCP Server bridges AI assistants to Unreal Engine 5 (5.0–5.8+) using a native C++ McpAutomationBridge plugin. In the BDB OS ecosystem, this integration automates environment construction, material generation, cinematic sequences (Sequencer), Blueprint orchestration, and visual effects (Niagara).

Architecture

  • Dual Transport:
    • Native MCP Mode: Direct Streamable HTTP/SSE transport (http://localhost:3000/mcp) running inside the UE process. No Node.js required.
    • TypeScript Bridge Mode: Standard stdio-based bridge using a Node.js process proxying over WebSocket to the plugin's Automation Port (default 8091).
  • Discovery Mechanism: Automatically discovers runtime properties, light classes, debug shapes, and track types using Unreal reflection.
  • On-Demand Resilience: Starts gracefully and will auto-reconnect if the Unreal Editor goes offline or is restarted.

2. System Instructions

Workflow Priorities

  1. Introspection First: Always call inspect with action="inspect_class" or action="inspect_cdo" before mutating parameters. Never guess property names or paths.
  2. Path Conventions: Use Unreal paths starting with /Game/ (e.g., /Game/Materials/M_Chrome). Respect additional content mount prefixes registered in MCP_ADDITIONAL_PATH_PREFIXES.
  3. Safety Rules: Dangerous console commands are pattern-filtered by the bridge. Use high-level tools (manage_asset, control_actor) rather than running raw console commands.
  4. Python Scripting: For complex operations that require native API access not exposed via tools, use system_control with action="execute_python". Keep code size under 1MB.

3. Available Tools and API Parameters

The server exposes 23 canonical MCP tools.

ToolActionParametersDescription
manage_assetlist, search_assets, import, duplicate, rename, move, delete, create_folder, get_asset, get_dependencies, analyze_graph, set_tags, validate, create_material, create_material_instance, create_render_target, connect_material_pinsobjectPath: string, destinationPath?: string, tags?: objectCreates, deletes, queries, or modifies project assets and materials.
manage_blueprintcreate, get_blueprint, compile, add_component, set_default, get_scs, create_node, delete_node, connect_pinsblueprintPath: string, componentName?: string, properties?: objectManages Blueprints, SCS components, graph connections, and compilation.
control_actorspawn, spawn_blueprint, delete, delete_by_tag, duplicate, set_transform, get_transform, set_visibility, add_component, add_tag, attach, detachactorClass?: string, blueprintPath?: string, location: float[], rotation: float[], scale: float[]Controls spawning, physics, tags, and transforms of actors in the active level.
control_editorplay, stop, set_camera, console_command, screenshot, create_bookmarkcommand?: string, location?: float[], rotation?: float[]Triggers Play-In-Editor (PIE), positions viewports, and captures screenshots.
manage_levelload_level, save_level, save_level_as, stream, unload_level, create_level, build_lighting, add_sublevellevelPath: string, shouldSave?: booleanManages map loading, streaming, sublevel structure, and lighting builds.
build_environmentcreate_landscape, sculpt, paint_foliage, add_foliage_instances, create_procedural_terraindimensions?: int[], materialPath?: string, foliageType?: stringAutomates landscapes, terrain, and foliage placement.
system_controlexecute_python, console_command, run_tests, subscribe, unsubscribe, set_project_settingcode?: string, command?: stringLow-level execution, settings access, log subscriptions, and Python integration.
inspectinspect_object, inspect_class, inspect_cdo, set_property, get_propertyobjectPath: string, propertyName?: string, propertyValue?: anyReflective inspection of live CDO or instantiated object properties.
manage_sequencecreate, add_actor, play, add_keyframe, add_camera, add_tracksequencePath: string, actorPath?: string, time?: floatCreates and drives Sequencer cinematics, tracks, and camera paths.
manage_audiocreate_sound_cue, play_sound_2d, play_sound_at_location, create_audio_componentsoundPath: string, location?: float[]Manages MetaSounds, SoundCues, mixes, attenuation, and spatialized playback.
manage_aiadd_node, connect_nodes, set_node_properties, get_treetreePath: string, nodeClass?: stringBuilds and queries Behavior Trees, blackboard keys, and EQS queries.
manage_geometrycreate_box, boolean_union, boolean_subtract, extrude, auto_uv, convert_to_static_meshwidth?: float, height?: float, meshName?: stringProcedural modeling in editor using Unreal Geometry Script.

4. Code Recipes and Prompt Cookbook

Recipe 1: Inline Python Scripting via system_control

To create custom asset chains or perform batch automation directly via Unreal's Python API:

# Call tool: system_control(action="execute_python", params={"code": "..."})
import unreal

def setup_studio_lighting():
    # Retrieve subsystems
    editor_actor_subsystem = unreal.get_editor_subsystem(unreal.EditorActorSubsystem)
    
    # Spawn directional light
    dir_light_class = unreal.DirectionalLight.static_class()
    light_actor = editor_actor_subsystem.spawn_actor_from_class(dir_light_class, unreal.Vector(0, 0, 500))
    light_component = light_actor.get_component_by_class(unreal.DirectionalLightComponent.static_class())
    light_component.set_intensity(10.0)
    
    # Spawn sky light
    sky_light_class = unreal.SkyLight.static_class()
    sky_actor = editor_actor_subsystem.spawn_actor_from_class(sky_light_class, unreal.Vector(0, 0, 1000))
    
    unreal.log("Studio lighting initialized successfully.")

setup_studio_lighting()

Recipe 2: Procedural Geometry Construction

To create a procedural staircase using the Geometry Scripting API:

# Call tool: manage_geometry(action="create_stairs", params={"width": 200, "height": 300, "steps": 12})
# Followed by: manage_geometry(action="convert_to_static_mesh", params={"meshPath": "/Game/Geometry/SM_ProceduralStairs"})

Recipe 3: Material Instance Setup

Create a master material instance and override properties programmatically:

// Tool Call: manage_asset(action="create_material_instance")
{
  "parentMaterialPath": "/Game/Materials/M_MasterShader",
  "destinationPath": "/Game/Materials/Instances/MI_GlossyRed"
}

// Tool Call: inspect(action="set_property")
{
  "objectPath": "/Game/Materials/Instances/MI_GlossyRed",
  "propertyName": "VectorParameterValues",
  "propertyValue": {
    "ParameterName": "BaseColor",
    "ParameterValue": [1.0, 0.0, 0.0, 1.0]
  }
}

5. Troubleshooting and Connection Details

Connection Setup

  • Native Port: 3000 (Direct HTTP endpoint: http://localhost:3000/mcp)
  • Bridge Port: 8091 (Used for TS bridge to communicate with the C++ plugin)
  • Status Indicator: Look for ● MCP :3000 (X) in the Unreal Editor status bar (bottom-right). Green means active.

Command Verification

Verify port binding and server availability from terminal:

# Verify native server
curl http://localhost:3000/mcp/tools

Common Errors

  1. McpAutomationBridge not loaded: Make sure the plugin is enabled in your .uproject file under Plugins and that your project is compiled.
  2. Missing Python Subsystem: Ensure that the Python Editor Script Plugin and Editor Scripting Utilities are enabled in the editor preferences.
  3. Connection Timeout: If running over LAN, check that Listen Host is set to 0.0.0.0 and that the Allow Non Loopback setting is active in the project's plugin settings.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Use when manage multiple local CLI agents via tmux sessions (start/stop/monitor/assign) with cron-friendly scheduling.

The English summary is being prepared. Showing the original description.

hybridlabor-api/aos6Updated Oct 16, 2026

Use when a hybrid memory system that provides persistent, searchable knowledge management for AI agents (Architecture, Patterns, Decisions).

The English summary is being prepared. Showing the original description.

hybridlabor-api/aos6Updated Oct 16, 2026

Reference for how BDB structures autonomous software engineering work — the seven-node dispatcher graph (Architect, TechLead, UI/UX, Engineering, Media/EventTech, Reviewer, Shipping) that /startcycle-graph actually runs. Use when you need the high-level lifecycle framing without inventing your own process.

The English summary is being prepared. Showing the original description.

hybridlabor-api/aos6Updated Oct 16, 2026

Tools are how AI agents interact with the world. A well-designed tool is the difference between an agent that works and one that hallucinates, fails silently, or costs 10x more tokens than necessary. This skill covers tool design from schema to error handling.

The English summary is being prepared. Showing the original description.

hybridlabor-api/aos6Updated Oct 16, 2026

Harness patterns for coding agents — memory, permissions, context engineering, delegation, skills, hooks, bootstrap.

The English summary is being prepared. Showing the original description.

hybridlabor-api/aos6Updated Oct 16, 2026

agenttrail: live map of a multi-agent build in the browser: which plan component is being worked on, by which agent or harness, what is done and what is stuck. Use when a multi-agent pipeline starts (/startcycle, /startcycle-graph, /teamwork-preview) or after a plan-canvas approve, when the user asks to see what the agents are doing ("live map", "build board", "who is running now"), or by yourself whenever a multi-agent run is under way — no user prompt needed.

The English summary is being prepared. Showing the original description.

hybridlabor-api/aos6Updated Oct 16, 2026

See all skills by hybridlabor-api

Report a problem with this skill