• English
  • UECopilot Plugin Documentation

    Version: 1.0.0 | Last Updated: 2026-05-08 Target Engine: Unreal Engine 5.4+


    1. Plugin Overview

    1.1 What is UECopilot?

    UECopilot is an AI-assisted development plugin integrated into the Unreal Engine 5 editor. Through the Blueprint MCP Server (Blueprint Model Context Protocol Server, UEMCP), it exposes UE5's Blueprint data structures and editing operations as HTTP APIs, allowing AI models (such as Claude, GPT, etc.) to directly read, understand, create, and modify Blueprint assets.

    One-sentence summary: UECopilot enables AI to "understand" your Blueprints and operate them for you like an experienced TA/programmer.

    1.2 Operation Mode

    ModeStartup MethodUse CaseFeatures
    Editor ModeAutomatically loaded when UE5 editor startsDaily developmentEditor and MCP service coexist, real-time operation

    2. Core Capabilities Overview

    UECopilot's UEMCP module has been comprehensively expanded and currently provides 130+ MCP tools, covering the following 16 major capability domains:

    Capability DomainTool CountCapability RatingNew
    Blueprint Reading & Retrieval8Stable-
    Blueprint Graph Editing & Node Operations15Stable-
    Blueprint Variables & Type System6Stable-
    Function/Parameter Management4Stable-
    Blueprint Structure & Metadata9Stable-
    Component System3Stable-
    User-Defined Types4Stable-
    Material System18Mature-
    Animation Blueprint System12Developing-
    Safety & Snapshot System6Stable-
    Asset Discovery & Reflection5Mature-
    Level & Actor Management16StableNew
    PIE Runtime Control & Query7StableNew
    Viewport Camera & Rendering9StableNew
    Editor Tools & Selection11StableNew
    UMG Widget Management7StableNew
    CVar & Output Log5StableNew
    Asset Special Operations8DevelopingNew
    Unreal Python API (AI + World Building)Level Automation (Procedural Tools)Planned

    Capability Rating Descriptions:

    • Mature: Full tool functionality, edge cases well handled, SEH protection in place
    • Stable: Core paths usable, some boundary conditions to watch for
    • Developing: Basic capabilities available, advanced scenarios need improvement

    2.1 What Can It Do? (Scenario Descriptions)

    Scenario 1: AI-Assisted Blueprint Debugging

    User: "Help me check if there are any disconnected pins in this Blueprint"
    AI → calls find_disconnected_pins → returns all unconnected input pins
    AI → provides fix suggestions

    Scenario 2: AI-Assisted Blueprint Refactoring

    User: "Change all function calls referencing OldClass to NewClass"
    AI → calls replace_function_calls (supports dry_run preview) → executes replacement

    Scenario 3: AI-Assisted Material Creation

    User: "Help me create a material with a normal map and color adjustment"
    AI → create_material → add_material_expression (TextureSample, Multiply, etc.)
         → connect_material_pins → completes the material network

    Scenario 4: AI-Assisted Animation State Machine

    User: "Add an Idle→Run transition in this Anim Blueprint"
    AI → add_anim_state → add_anim_transition → set_transition_rule

    Scenario 5: Safe Experimentation

    User: "I want to modify this function parameter type, but I'm worried about issues"
    AI → snapshot_graph (take snapshot first) → change_function_parameter_type → if error, restore_graph

    Scenario 6: Level Automation Setup

    User: "Generate a 10x10 grid of StaticMesh Cubes at the center of the level"
    AI → list_actors (check current state) → loop spawn_actor → set_actor_transform
         → focus_actor to view the result

    Scenario 7: Automated PIE Runtime Testing

    User: "Start the game, teleport the player to the Boss area, and confirm the Boss has spawned correctly"
    AI → start_pie → is_pie_running (wait for ready)
         → pie_teleport_player → pie_query_actors(classFilter="Boss") → stop_pie

    Scenario 8: Automated Visual Verification

    User: "Switch to Wireframe mode, take a screenshot, then switch back to Lit mode"
    AI → set_view_mode(mode="Wireframe") → take_screenshot
         → set_view_mode(mode="Lit")

    Scenario 9: UMG Programmatic Operations

    User: "Add a 'Start Game' button under the Root of WBP_MainMenu"
    AI → list_widget_tree → add_widget(widgetClass="Button", name="StartButton")
         → set_widget_property(property="Text", value="Start Game")

    Scenario 10: Performance Debugging

    User: "Check the current r.Shadow settings and lower shadow quality"
    AI → list_cvars(filter="r.Shadow") → set_cvar(name="r.ShadowQuality", value="2")

    Scenario 11: Workflow Orchestration

    User: "Select the 3 StaticMeshActors in the center, duplicate them and shift 200cm to the right"
    AI → begin_transaction("Duplicate actors") → set_editor_selection(["SM_A", "SM_B", "SM_C"])
         → duplicate_actor(offset={x:200}) → end_transaction

    3. System Requirements

    • Unreal Engine: 5.4+
    • Operating System: Windows 64-bit (fully tested)
    • Additional Dependencies: Node.js (for Web UI service, MCP service does not require it)

    4. Usage Guide

    The recommended workflow follows four steps: "Preview → Snapshot → Execute → Verify":

    Step 1: Preview & Analysis
      ├── Use get_blueprint / get_blueprint_graph to understand current state
      ├── Use search_blueprints to search for relevant nodes
      ├── Use get_actor_properties to inspect Actor properties
      ├── Use list_widget_tree to view UMG hierarchy
      └── Use check_pin_compatibility to pre-check pin connection feasibility
    
    Step 2: Create Safety Snapshot
      ├── Use snapshot_graph to save the current graph state
      └── Use begin_transaction / end_transaction to wrap multi-step operations
    
    Step 3: Execute Changes
      ├── Use add_node / connect_pins / delete_node, etc. to edit Blueprints
      ├── Use spawn_actor / set_actor_transform to manipulate the level
      ├── Use add_widget / set_widget_property to modify UMG
      ├── Tools with dryRun parameter should be used for a dry run first
      └── For major changes, use validate_blueprint to check compilation results
    
    Step 4: Verify & Restore
      ├── Use validate_blueprint to verify Blueprint integrity
      ├── Use diff_graph to compare differences before and after changes
      ├── Use get_dirty_packages to check unsaved modifications
      └── If issues arise, use restore_graph to roll back or undo to revert

    4.2 AI Prompt Tips

    Good prompt examples:

    # Clearly specify the target object
    "Add a Print String node to the EventGraph of Blueprint MyCharacter, printing 'Hello'"
    
    # Step-by-step operations
    "1. First take a snapshot of MyCharacter's EventGraph
     2. Then change the input parameter type of the MoveForward function from float to double
     3. Finally verify if the Blueprint has compilation errors"
    
    # Query first, then operate
    "First list all Blueprints in the project that inherit from Character,
     then tell me their names and paths"
    
    # Level operations
    "Select all StaticMeshActors in the current level and get each actor's properties"

    Vague prompts to avoid:

    ✗ "Help me fix this Blueprint" — Which Blueprint? Fix what?
    ✗ "Add a feature" — What feature? Where to add it?
    ✗ "Modify the material" — Which material? Change it to what?
    ✗ "Run it" — Start PIE? Validate Blueprint? Search assets?

    4.3 Usage Notes

    1. MCP service is not head-safe: Although SEH (Structured Exception Handling) protection is used, erroneous operations in extreme cases could still cause the editor to crash. It is recommended to save the project and back up important Blueprints before operating.

    2. All write operations support Ctrl+Z undo: The server wraps each write operation in an Undo transaction, but it is recommended to manually save promptly after continuous operations.

    3. Snapshots are saved to disk: Snapshot files are stored in the Project/Saved/BlueprintMCP/Snapshots/ directory and are not included in project version control. Manual backup is recommended for important operations.

    4. AI model differences in understanding UE terminology: Different AI models may have varying understandings of UE-specific terms (such as "pin connection", "break struct", "event dispatcher"). Please use UE5 official terminology in your prompts.

    5. Editor Mode vs Commandlet Mode differences:

      • In Editor Mode, PIE/Viewport/Level/Actor tools are fully available
      • In Commandlet Mode, only Blueprint layer and CVar tools are available (no World context)

    5. MCP Tools Complete Reference

    Note: The following lists all MCP tools that can be directly invoked through AI conversation. Tool names use snake_case convention. You can use these tool names directly in your prompts.

    5.1 Blueprint Retrieval & Reading (8 Tools)

    Tool NameFunctionKey Parameters
    list_blueprintsList all Blueprint assets, supports filtering by name and parent classfilter, parentClass, type
    get_blueprintGet detailed info of a specific Blueprint (variables, functions, components, etc.)name
    get_blueprint_summaryGet a brief summary of a Blueprint (same as get_blueprint)name
    get_blueprint_graphGet the full structure of a specified graph (EventGraph, FunctionGraph, etc.)name, graph
    describe_graphGet a pseudocode-style description of a graph (same as get_blueprint_graph)name, graph
    search_blueprintsSearch for nodes with specific names in Blueprintsquery, path, maxResults
    find_asset_referencesFind all nodes referencing a specified classclass, blueprint
    search_by_typeSearch for usage of a specific node type in BlueprintsnodeClass, blueprint, graph

    5.2 Blueprint Node Editing (15 Tools)

    Tool NameFunctionKey Parameters
    add_nodeAdd a new node to a specified graphblueprint, graph, nodeType, position
    delete_nodeDelete a node from a graphblueprint, nodeId
    duplicate_nodesDuplicate one or more nodesblueprint, nodeIds, offset
    move_nodeMove a node to a new positionblueprint, nodeId, position
    connect_pinsConnect pins between two nodesblueprint, sourceNodeId, sourcePin, targetNodeId, targetPin
    disconnect_pinDisconnect all connections of a specified pinblueprint, nodeId, pinName
    refresh_all_nodesRefresh all nodes in a graph (clean up broken references)blueprint
    set_pin_defaultSet the default value of a pinblueprint, nodeId, pinName, value
    get_pin_infoGet detailed pin info (type, direction, connection status)blueprint, nodeId, pinName
    check_pin_compatibilityPre-check if two pins can be connectedblueprint, sourceNodeId, sourcePin, targetNodeId, targetPin
    get_node_commentGet a node's comment textblueprint, nodeId
    set_node_commentSet a node's comment textblueprint, nodeId, comment
    replace_function_callsReplace function call target class in Blueprints (supports dry_run preview)blueprint, oldClass, newClass, dryRun
    change_struct_node_typeChange the struct type of Break/Make struct nodesblueprint, nodeId, structType

    5.3 Blueprint Variable System (6 Tools)

    Tool NameFunctionKey Parameters
    add_variableAdd a new member variable to a Blueprintblueprint, variableName, variableType, category
    remove_variableRemove a member variable from a Blueprintblueprint, variableName
    change_variable_typeChange a variable's type (supports dry_run impact analysis preview)blueprint, variable, newType, dryRun
    set_variable_metadataSet a variable's metadata (category, description, etc.)blueprint, variable, metadata
    set_blueprint_defaultSet a Blueprint CDO default property valueblueprint, propertyName, value
    delete_assetDelete a specified asset filepath

    5.4 Function & Parameter Management (4 Tools)

    Tool NameFunctionKey Parameters
    add_function_parameterAdd a parameter to a function/custom eventblueprint, functionName, paramName, paramType
    remove_function_parameterRemove a parameter from a function/custom eventblueprint, functionName, paramName
    change_function_parameter_typeChange a function parameter type (supports dry_run preview)blueprint, functionName, paramName, newType, dryRun
    reparent_blueprintChange a Blueprint's parent class (supports C++ classes and Blueprint classes)blueprint, newParentClass

    5.5 Blueprint Structure & Metadata (9 Tools)

    Tool NameFunctionKey Parameters
    create_blueprintCreate a new Blueprint assetblueprintName, packagePath, parentClass, blueprintType
    create_graphCreate a new graph in a Blueprint (EventGraph, FunctionGraph, etc.)blueprint, graphName, graphType
    delete_graphDelete a specified graph from a Blueprintblueprint, graphName
    rename_graphRename a graph in a Blueprintblueprint, oldName, newName
    add_interfaceAdd an interface implementation to a Blueprintblueprint, interfaceName
    remove_interfaceRemove an interface implementation from a Blueprint (optionally keep functions)blueprint, interfaceName, preserveFunctions
    list_interfacesList all interfaces implemented by a Blueprintblueprint
    add_event_dispatcherAdd an event dispatcher (supports dispatchers with parameters)blueprint, dispatcherName, parameters
    list_event_dispatchersList all event dispatchers and their parameters for a Blueprintblueprint

    5.6 Component System (3 Tools)

    Tool NameFunctionKey Parameters
    add_componentAdd a component to a Blueprint's SCSblueprint, componentClass, name, parentComponent
    remove_componentRemove a component from a Blueprint's SCSblueprint, componentName
    list_componentsList all components in a Blueprint's SCSblueprint

    5.7 User-Defined Types (4 Tools)

    Tool NameFunctionKey Parameters
    create_structCreate a user-defined struct asset (supports adding properties)assetPath, properties
    create_enumCreate a user-defined enum assetassetPath, values
    add_struct_propertyAdd a new property to a structstructPath, propertyName, propertyType
    remove_struct_propertyRemove a property from a structstructPath, propertyName

    5.8 Material System (18 Tools)

    Material Reading:

    Tool NameFunctionKey Parameters
    list_materialsList all material and material instance assetsfilter, type
    get_materialGet detailed material info (domain, blend mode, parameter list, referenced textures)name
    get_material_graphGet the node connection structure of a material graphname
    describe_materialProvide a detailed pseudocode description of a material graphmaterial
    search_materialsSearch for expressions in materialsquery
    find_material_referencesFind materials referencing a specified texture or material functiontexture, materialFunction

    Material Writing:

    Tool NameFunctionKey Parameters
    create_materialCreate a new material asset (supports domain and blend mode settings)name, packagePath, domain, blendMode
    set_material_propertySet material top-level properties (domain, blend mode, two-sided, etc.)material, property, value
    add_material_expressionAdd an expression node to a material graphmaterial, expressionClass, position
    delete_material_expressionDelete an expression from a material graphmaterial, expressionId
    connect_material_pinsConnect two pins in a material graphmaterial, expression, pinName, targetExpression, targetPin
    disconnect_material_pinDisconnect all connections of a specified material pinmaterial, expressionId, pinName
    set_expression_valueSet a material expression's parameter valuematerial, expressionId, parameter, value
    move_material_expressionMove a material expression's position in the editor graphmaterial, expressionId, position

    Material Instances:

    Tool NameFunctionKey Parameters
    create_material_instanceCreate a Material Instance Constant (MIC)name, packagePath, parentMaterial
    set_material_instance_parameterSet a material instance's parameter override valuematerialInstance, parameterName, value, type
    get_material_instance_parametersGet all overridable parameters of a material instancematerialInstance
    reparent_material_instanceChange a material instance's parent materialmaterialInstance, newParent

    Material Functions:

    Tool NameFunctionKey Parameters
    list_material_functionsList all material function assetsfilter
    get_material_functionGet detailed information about a material functionname
    create_material_functionCreate a new material function assetname, packagePath

    Material Safety:

    Tool NameFunctionKey Parameters
    validate_materialCompile and validate a materialmaterial
    snapshot_material_graphTake a snapshot of a material graphmaterial
    diff_material_graphCompare differences between a material graph and its snapshotmaterial, snapshotId
    restore_material_graphRestore a material graph from a snapshotmaterial, snapshotId

    5.9 Animation Blueprint System (12 Tools)

    Tool NameFunctionKey Parameters
    create_anim_blueprintCreate an Animation Blueprint assetname, packagePath, skeleton, parentClass
    add_state_machineAdd a state machine to an Anim Blueprintblueprint, name
    add_anim_stateAdd an animation state to a state machineblueprint, stateMachine, stateName
    remove_anim_stateRemove an animation state from a state machineblueprint, stateName
    add_anim_transitionAdd a transition rule between statesblueprint, fromState, toState
    set_transition_ruleSet the rule Blueprint for a state transitionblueprint, transitionId, ruleBlueprint
    add_anim_nodeAdd an animation node to an animation stateblueprint, stateName, nodeType
    set_state_animationSet the animation sequence used by a stateblueprint, stateName, animation
    list_anim_slotsList an Anim Blueprint's slotsblueprint
    list_sync_groupsList an Anim Blueprint's sync groupsblueprint
    create_blend_spaceCreate a blend space asset (1D/2D)name, packagePath, skeleton
    set_blend_space_samplesSet the sample points of a blend spaceblendSpace, samples

    5.10 Safety & Snapshot System (6 Tools)

    Tool NameFunctionKey Parameters
    snapshot_graphCreate a Blueprint graph snapshot (saved to disk)blueprint, graphs
    diff_graphCompare the current graph with a snapshotblueprint, snapshotId
    restore_graphRestore a Blueprint graph from a snapshotblueprint, snapshotId
    find_disconnected_pinsFind all unconnected input pins in a graphblueprint
    analyze_rebuild_impactAnalyze the potential impact scope of a Blueprint rebuildblueprint, changeDescription
    diff_blueprintsCompare the graph structure differences between two BlueprintsblueprintA, blueprintB, graph

    5.11 Asset Discovery & Reflection (5 Tools)

    Tool NameFunctionKey Parameters
    list_classesList all available UClassesfilter
    list_functionsList all functions of a specified classclassName, filter
    list_propertiesList all properties of a specified classclassName, filter
    rescan_assetsRescan the asset registry, refresh cacheNone
    server_statusView MCP server runtime status and asset statisticsNone

    5.12 Level & Actor Management (v2 New, 16 Tools)

    5.12.1 Basic Actor Operations

    Tool NameFunctionKey ParametersCategory
    get_current_levelGet information about the currently open levelNonelevel
    list_actorsList all actors in the current levelfilter, classFilter, maxResultslevel
    get_actor_propertiesGet detailed properties of a specified actoractorLabellevel
    spawn_actorSpawn a new actor in the current levelclass, location, rotationlevel
    duplicate_actorDuplicate a specified actor (with optional position offset)actorLabel, offsetlevel
    delete_actorDelete a specified actor from the levelactorLabellevel
    set_actor_transformSet the transform (location, rotation, scale) of an actoractorLabel, location, rotation, scalelevel
    set_actor_propertySet a property value on a specified actoractorLabel, propertyName, valuelevel

    5.12.2 Actor Component Operations

    Tool NameFunctionKey ParametersCategory
    add_actor_componentAdd a component to a specified actoractorLabel, componentClass, namelevel
    get_actor_componentsList all components of a specified actoractorLabellevel

    5.12.3 Material Operations on Actors

    Tool NameFunctionKey ParametersCategory
    get_actor_materialsGet the material list of a specified actoractorLabellevel
    set_actor_materialSet a material on a specified actor's elementactorLabel, material, elementIndexlevel

    5.12.4 Level Management

    Tool NameFunctionKey ParametersCategory
    get_all_levelsList all levels (persistent + streaming) in the current worldNonelevel
    load_levelLoad a streaming levellevelNamelevel
    unload_levelUnload a streaming levellevelNamelevel

    5.12.5 Level Blueprint Management

    Tool NameFunctionKey ParametersCategory
    get_level_blueprintGet the Level Blueprint of the current levelNonelevel

    5.13 PIE Runtime Control & Query (v2 New, 7 Tools)

    Tool NameFunctionKey ParametersCategory
    start_pieStart Play In Editor sessionplayMode, mouseControlpie
    stop_pieStop the current PIE sessionNonepie
    pause_piePause the current PIE sessionNonepie
    resume_pieResume the current PIE sessionNonepie
    is_pie_runningCheck if PIE is currently runningNonepie
    pie_teleport_playerTeleport the player character to a specified locationlocation, rotation, playerIndexpie
    pie_query_actorsQuery actors in the PIE worldclassFilter, nameFilter, maxResultspie

    Supported Play Modes:

    ModeDescription
    InViewportPlay in the editor viewport (default)
    MobilePreviewMobile device preview
    VulkanPreviewVulkan rendering preview

    5.14 Viewport Camera & Rendering (v2 New, 9 Tools)

    5.14.1 Viewport & Camera Control

    Tool NameFunctionKey ParametersCategory
    get_viewport_infoGet current viewport dimensions and camera infoNoneviewport
    set_camera_transformSet the editor viewport camera position and rotationlocation, rotationviewport
    focus_actorFocus the viewport camera on a specified actor and select itactorLabelviewport

    5.14.2 View Mode & Visual Settings

    Tool NameFunctionKey ParametersCategory
    set_view_modeChange the editor viewport view modemodeviewport
    set_show_flagsSet viewport show flagsflag, enabledviewport

    Supported View Modes:

    ModeDescription
    LitLit mode (default)
    UnlitUnlit mode
    WireframeWireframe display
    DetailLightingDetail lighting preview
    LightingOnlyLighting only
    ReflectionsReflections preview

    5.14.3 Screenshot

    Tool NameFunctionKey ParametersCategory
    take_screenshotTake a viewport screenshotfilename, compressionQualityviewport
    take_high_res_screenshotTake a high-resolution viewport screenshot (1-8x)resolutionMultiplier, filenameviewport

    Screenshot save path: {Project}/Saved/Screenshots/


    5.15 Editor Tools & Selection (v2 New, 11 Tools)

    5.15.1 Editor Selection Management

    Tool NameFunctionKey ParametersCategory
    get_editor_selectionGet currently selected actorsNoneeditor
    set_editor_selectionSelect specific actors by labelactorLabelseditor
    clear_selectionDeselect allNoneeditor

    5.15.2 Content Browser

    Tool NameFunctionKey ParametersCategory
    navigate_content_browserNavigate the Content Browser to a specific folderpath (e.g. /Game/Blueprints)editor
    open_asset_editorOpen an asset in its dedicated editorassetPatheditor

    5.15.3 Editor Utilities

    Tool NameFunctionKey ParametersCategory
    focus_actorFocus the viewport camera on a specified actor and select itactorLabeleditor
    editor_notificationShow a Toast notification in the editormessage, severity, durationeditor
    save_allSave all unsaved packages in the editorNoneeditor
    get_dirty_packagesList all packages with unsaved changesNoneeditor

    5.15.4 Undo/Redo

    Tool NameFunctionKey ParametersCategory
    undoUndo the last editor operationNoneeditor
    redoRedo the last undone operationNoneeditor
    begin_transactionBegin a named undo transactiondescriptioneditor
    end_transactionEnd the current undo transactionNoneeditor

    All MCP write operations executed between begin_transaction / end_transaction will be grouped into a single atomic undo action.


    5.16 UMG Widget Management (v2 New, 7 Tools)

    Tool NameFunctionKey ParametersCategory
    list_widget_treeList the complete widget hierarchy of a Widget Blueprintblueprinteditor
    get_widget_propertiesGet all editable properties of a widget (including Slot properties)blueprint, widgeteditor
    add_widgetAdd a widget to a Widget Blueprintblueprint, widgetClass, name, parenteditor
    remove_widgetRemove a widget from a Widget Blueprintblueprint, widgeteditor
    set_widget_propertySet a property (or Slot property) on a widgetblueprint, widget, property, valueeditor
    move_widgetMove a widget to a different Panel (includes cycle detection)blueprint, widget, newParenteditor
    create_widget_blueprintCreate a new blank Widget Blueprintname, packagePatheditor

    Common Widget Classes: TextBlock, Button, Image, VerticalBox, HorizontalBox, Overlay, CanvasPanel, Border, SizeBox, ScaleBox, ScrollBox, Spacer, ProgressBar, Slider, CheckBox


    5.17 CVar & Output Log (v2 New, 5 Tools)

    5.17.1 Console Variables (CVar)

    Tool NameFunctionKey ParametersCategory
    get_cvarGet the current value of a console variablename (e.g. r.ScreenPercentage)debug
    set_cvarSet the value of a console variablename, valuedebug
    list_cvarsSearch and list console variablesfilter, maxResultsdebug

    Supported Modes: Editor Mode and Commandlet Mode. Note that some CVars may require an editor restart to take effect.

    5.17.2 Output Log

    Tool NameFunctionKey ParametersCategory
    get_output_logGet recent output log entriesmaxLines, filter, verbositydebug
    clear_output_logClear the captured log bufferNonedebug

    The first call to get_output_log automatically starts log capture. Log filtering supports matching by message/category text, or filtering by severity level (Error / Warning).


    5.18 Asset Special Operations (v2 New, 8 Tools)

    5.18.1 Groom Hair Binding

    Tool NameFunctionKey ParametersCategory
    list_groom_bindingsList all Groom Binding assets in the projectquery-
    duplicate_groom_bindingDuplicate a Groom Binding assetassetPath, newName, newFolder-
    set_groom_binding_target_meshChange the target skeletal mesh of a Groom BindingassetPath, targetMeshPath, sourceMeshPath-

    5.18.2 Skeleton & Socket

    Tool NameFunctionKey ParametersCategory
    get_skeletonGet detailed skeleton informationskeleton-
    add_skeleton_socketAdd a socket to a skeletonskeleton, boneName, socketName-
    remove_skeleton_socketRemove a socket from a skeletonskeleton, socketName-
    copy_skeleton_socketsCopy sockets from a source skeleton to a target skeletonsourceSkeleton, targetSkeleton-

    5.18.3 Console Command

    Tool NameFunctionKey ParametersCategory
    execExecute a UE5 console commandcommanddebug

    5.18.4 Level Gameplay Snapshot

    Tool NameFunctionKey ParametersCategory
    snapshot_level_gameplayTake a gameplay snapshot of actor states in the levellevel-

    5.19 Workflow Resources (MCP Resources)

    In addition to Tools, the TypeScript MCP Server exposes two read-only Resources for AI to consult before working:

    Resource NameURIContent
    blueprint-listblueprint:///listList of all Blueprint assets in the current project
    workflow-recipesblueprint:///recipes4 complete workflow recipes (Struct Migration, Function Library Replacement, C++ Rebuild Safety, Safe Editing Four-Step Method)

    5.20 Utility Functions & Safety Mechanisms

    Type Resolver (ResolveTypeFromString)

    Supported type resolution formats:

    Input FormatExampleResolution Result
    Basic Typesint, float, bool, string, textCorresponding basic pin types
    Object Referenceobject:ActorUObject subclass reference
    Soft Objectsoftobject:Texture2DSoft object reference
    Class Referenceclass:ActorClass reference
    Soft Class Referencesoftclass:AnimInstanceSoft class reference
    Structstruct:Vector, struct:TransformStruct pin type
    Enumenum:ETraceTypeQueryEnum byte type
    Interfaceinterface:BPI_InteractInterface reference
    Arrayarray:int, array:object:ActorTArray type

    SEH Safety Protection (Windows Only)

    For high-risk operations (Blueprint compilation, material expression addition, package saving, etc.), the __try/__except Structured Exception Handling (SEH) mechanism is used. This means that even if an operation causes an internal engine crash (such as an access violation), the service will not completely crash, but will instead return an error message.

    Undo Transaction Support

    All tool calls that modify Blueprints are wrapped in Undo/Redo transactions. This means that when used in the editor, operations executed by AI can be undone with Ctrl+Z.


    6. Usage Boundaries & Limitations

    6.1 Known Limitations

    CategoryLimitation DescriptionImpact
    Multi-UserThe service is designed for single-user; simultaneous multi-user operations are not supported⚠️ Medium
    NetworkOnly listens on 127.0.0.1, remote access is not supported🔒 Security by design
    Version CompatibilityBuilt on UE5.4+ APIs, not tested on UE4⚠️ High
    PlatformSEH protection is Windows-only; material system SEH has a dedicated implementation⚠️ Medium
    Hot ReloadRequires reconnection after plugin module hot-reload⚠️ Low
    Large ProjectsFirst scan of very large projects with tens of thousands of Blueprints may take several seconds⚠️ Medium
    Compilation SafetyBlueprint compilation triggers full compile chain; complex Blueprints may take time⚠️ Medium
    AI UnderstandingAI models have inherent limitations in understanding UE graph structures and pin types⚠️ Caution advised

    6.2 Unsupported Scenarios

    1. C++ Code Operations: Cannot create or modify C++ code files
    2. Runtime Breakpoint Debugging: Does not support breakpoints, step execution, or other debugging features
    3. Multi-User Collaboration: No concurrency control mechanism
    4. Content Migration: Does not support cross-project content migration
    5. Source Control: Does not directly interact with Perforce/Git/SVN
    6. Packaging & Build: Does not support packaging, cooking, or other build workflows
    7. DataTable Operations: DataTable/CurveTable editing is not currently supported
    8. Niagara System: Does not support Niagara particle system operations

    6.3 Safety Boundaries

    ✅ CAN DO:
       · Read/create/modify Blueprint, Material, Anim Blueprint assets
       · Create structs and enums
       · Take safety snapshots and restore
       · Spawn/delete/modify Actors in the level
       · Start/stop/pause PIE and query runtime state
       · Control viewport camera and rendering modes
       · Take viewport screenshots
       · Create and modify Widget Blueprints (UMG)
       · Read and write CVar console variables
       · Read and filter output logs
       · Navigate the Content Browser and open asset editors
       · Manage editor selection state
       · Perform batch operations with atomic undo
    
    ❌ SHOULD NOT DO:
       · Expose the editor to external network access
       · Make bulk modifications without version control
       · Rely on AI to fully understand the semantics of complex graph structures
       · Use directly on critical nodes without testing
    
    ⚠️ USE CAUTION:
       · Changing the parent class of an existing Blueprint (may cause extensive disconnections)
       · Batch renaming/deleting assets
       · Changing variable types (may disconnect existing connections)
       · Large-scale modifications in Anim Blueprint state machines
       · Deleting Actors during PIE runtime (may break game logic)

    7. Conversational MCP Operation Prompt Accuracy Challenges

    7.1 Core Challenges

    Using natural language through AI models to operate UE5 Blueprints presents the following core challenges:

    Challenge 1: Loss of 3D Semantics in Graph Structure

    A Blueprint graph is a 2D visual structure. AI can only see a flat JSON node list, losing spatial information such as:

    • Node positions and layout (proximity implies logical grouping)
    • Visual grouping through comment boxes
    • Execution flow direction (left-to-right, top-to-bottom conventions)
    • Color cues (node type indicators, execution wire colors)

    Impact: AI struggles to understand the "design intent" of a graph and can only see structured connection data.

    Challenge 2: Implicit Knowledge of Pin Types

    Pin types in UE5 are a complex system:

    Explicit Pin InformationRequired Implicit Knowledge
    PinCategory = "object"Need to know the subclass hierarchy tree
    PinSubCategoryObjectNeed to understand object reference vs class reference
    bIsReferenceNeed to know pass-by-value vs pass-by-reference semantics
    PinValueTypeNeed to understand Map/Set container key-value type relationships

    Impact: AI may provide semantically incorrect pin pairings when constructing connect_pins requests.

    Challenge 3: Cascading Effects of Changes

    A simple modification can trigger a chain reaction:

    Changing variable type (int → float)
      → All Get/Set node output pin types change
        → Nodes connected to these pins may disconnect
          → Downstream node input values become invalid
            → Compilation produces warnings or errors

    Impact: AI struggles to fully predict all cascading effects of a change, even with dryRun support.

    Challenge 4: Ambiguity of UE Terminology

    TermMeaning in Different Contexts
    "Node"Can be a Blueprint node, material expression, animation state, or skeleton bone
    "Connection"Can be a pin connection, state transition, or component parent-child relationship
    "Type"Can be a variable type, pin type, node type, or asset type
    "Graph"Can be an EventGraph, FunctionGraph, AnimationGraph, or MaterialGraph

    Impact: AI may confuse terminology across different contexts, leading to incorrect request parameters.

    Challenge 5: Session State Maintenance

    Round 1: AI → "List all Blueprints"
              Service → returns 50 Blueprint names
    
    Round 2: AI → "Open the first one"
              Problem → Which "first one"? The user needs to maintain conversation context

    Impact: The plugin itself is stateless; each tool call is independent. The AI model needs to maintain state within the conversation, but the context window is limited.

    7.2 Current Mitigation Strategies

    Mitigation measures already implemented at the plugin level:

    1. Detailed error messages: Returns specific error reasons and available options when operations fail (e.g., lists of available pin names, graph names, etc.)
    2. dryRun mode: Key modification operations support preview mode, returning impact analysis
    3. Snapshot mechanism: Supports pre-operation snapshots with post-operation restoration
    4. SEH protection: Crash protection in extreme cases

    10. FAQ & Troubleshooting

    10.1 Operational Issues

    Q: Changes to a Blueprint are not taking effect

    1. Check if the saved field in the returned JSON is true
    2. Manually save the asset in the editor (Ctrl+S)
    3. Reopen the Blueprint graph to see changes

    Q: Blueprint compilation errors

    1. Use the validate_blueprint tool to see specific error messages
    2. If a snapshot exists, use restore_graph to restore
    3. Or use Ctrl+Z to undo in the editor

    Q: AI cannot find the specified Blueprint

    1. Ensure the Blueprint name is correct (case-sensitive)
    2. Use the list_blueprints tool to see all available Blueprints
    3. Level Blueprints need to be referenced by the map name

    Q: Level Actor operations fail ("requires editor mode")

    1. Confirm the UE5 editor is running (not commandlet mode)
    2. Check is_pie_running — editor mode operations cannot execute during PIE runtime
    3. Confirm a level is currently open (not an empty world)

    10.2 Performance Issues

    Q: First call to list_blueprints is slow The first call triggers a full asset registry scan. Subsequent calls use caching and will be faster.

    Q: PIE operations start slowly PIE startup requires compiling the level and loading assets. Use is_pie_running to poll and wait for the ready state.


    11. Appendix: Capability Statistics

    11.1 Overview Data

    StatisticValue
    Total MCP Tools130+
    Capability Domains16 major categories
    Supported Asset TypesBlueprint, Material, MaterialInstance, MaterialFunction, AnimBlueprint, UserDefinedStruct, UserDefinedEnum, BlendSpace

    11.3 Type Support Coverage

    Blueprint Pin TypeSupport Status
    boolean, byte, int, int64, float, double, name, string, text✅ Full
    object, softobject, class, softclass, interface✅ Full
    struct (Vector, Transform, Rotator, Color, etc.)✅ Full
    enum✅ Full
    array, set, map✅ Basic support
    delegate, mcdelegate✅ Basic support

    Conclusion

    UECopilot's goal is to become a powerful co-pilot for UE5 developers — not to replace your judgment, but to help you complete repetitive tasks faster, reduce human errors, and maintain operational accuracy and traceability in large projects.

    Recommendations for users:

    • Start small: Try it out on simple Blueprints first
    • Make good use of snapshots: Take a snapshot before any major operation
    • Progressive adoption: Start with reading → simple modifications → complex creation → full Level/PIE workflow, gradually going deeper
    • Leverage transactions: Use begin_transaction / end_transaction to group multi-step operations into atomic undo actions
    • Provide feedback: If you encounter issues, please provide detailed logs to help the plugin improve continuously

    UECopilot - Empowering Unreal Engine development with AI wings