MCP server for Unreal Engine automation and control, providing tools for asset management, blueprint editing, actor control, level management, animation, physics, AI, gameplay systems, and editor control.
Critical failures across all 18 tools. Every tool has an empty enum array for the 'action' parameter, making input schemas non-functional. No parameter descriptions visible beyond the action field. Tool descriptions are present but generic (50-150 chars), lacking WHEN/WHY guidance. No output schemas documented. No error handling patterns. Schema registration exists but is hollow, the BuildInputSchema() method defers to per-action AppendSchema() calls that are not visible in provided source, making actual parameter definitions unverifiable. This is a facade pattern that hides the real schema complexity.
Create animation blueprints, blend spaces, montages, state machines, Control Rig, IK rigs, ragdolls, and vehicle physics.
Create/sculpt landscapes, paint foliage, and generate procedural terrain/biomes.
Spawn actors, set transforms, enable physics, add components, manage tags, and attach actors.
Start/stop PIE, control viewport camera, run console commands, take screenshots, simulate input.
Inspect any UObject: read/write properties, list components, export snapshots, and query class info. Actions: inspect_cdo (Blueprint CDO properties + all components without spawning an actor; use blueprintPath, optional detailed/componentName/propertyNames), inspect_class (class metadata), inspect_object (world actor), get_property/set_property (set_property saves the owning asset package by default; 'saved' reports the on-disk result), get_components, list_objects, find_by_class, find_by_tag, runtime_report, ui_focus (CommonUI PIE runtime snapshot: focused widget + path, the activatable owning focus + its desired-focus target, active activatable stack, current input type, and the active root's bound actions), find_objects (loaded-object discovery: className + optional pathContains substring + propertyNames readback — use for widget-tree template subobjects, slot objects, and live PIE widget state), diff_asset (structural diff of two on-disk .uasset versions: oldFilePath vs newFilePath — parent/interfaces/components/variables/graphs + CDO defaults + gasSignals).
All 18 tools have empty enum arrays for 'action' parameter. The schema declares StringEnum(TEXT("action"), McpConsolidatedActions::AnimationPhysics(), ...) but the enum list is empty ("enum":[]). LLMs cannot determine valid action values and will hallucinate.
No parameter descriptions beyond 'action' field visible. BuildInputSchema() defers to per-action AppendSchema() fragments (Calls/McpCalls_*.cpp) which are not provided. Cannot verify that individual action parameters have descriptions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 37 | 2026-07-28+ | v2 |
Create AI Controllers, configure Behavior Trees, Blackboards, EQS queries, perception systems, Behavior Tree graphs, and navigation.
Create, import, duplicate, rename, delete assets. Edit Material graphs and instances. Analyze dependencies.
Play/stop sounds, add audio components, configure mixes, attenuation, spatial audio, and author Sound Cues/MetaSounds.
Create Blueprints, add SCS components (mesh, collision, camera), and manipulate graph nodes.
Create Character Blueprints with movement setup and animation assets. Advanced gameplay actions scaffold convention-named variables and defaults; they do not implement runtime logic.
Scaffold combat data on Blueprints: weapon/combat assets plus convention-named variables and CDO defaults (damage types, hitboxes, reload, melee combo/parry/block parameters). Most actions declare data for game code to consume; they do not implement runtime combat logic.
Niagara particle systems, VFX, debug shapes, and GPU simulations. Create systems, emitters, modules, and control particle effects.
Create Gameplay Abilities, Effects, Attribute Sets, and Gameplay Cues for ability systems.
Create procedural meshes using Geometry Script: booleans, deformers, UVs, collision, and LOD generation.
Enhanced Input authoring: InputActions, InputMappingContexts, key mappings, triggers, and modifiers.
Create interactive objects: doors, switches, chests, levers. Set up destructible meshes and trigger volumes.
Create item data assets, world pickups, loot tables, and crafting recipes. Component/system actions scaffold convention-named variables and defaults for game code to consume; they do not implement runtime inventory logic.
Load/save levels, configure streaming, and build lighting.
No output schemas documented. Tools return results but LLMs have no schema to understand response structure, field types, or what IDs/references are available for chaining.
Tool descriptions are generic and lack WHEN/WHY guidance. E.g. 'Create, import, duplicate, rename, delete assets...' lists actions but does not explain when to call this vs other tools or what the LLM should expect.
No error handling patterns visible. No recovery guidance, error classification (retryable/user-fixable/fatal), or actionable error messages.