Tools Reference
Blueprint AI registers 25+ tools that AI agents can call to read, create, and modify Unreal Engine assets. Tools are executed on the game thread and logged to Saved/Logs/AIK_ToolAudit.log.
Tool Execution Model
All tool calls are dispatched to the Unreal game thread for safety. When called from the MCP server (which runs on an HTTP background thread), execution is automatically forwarded via AsyncTask(ENamedThreads::GameThread, ...). A configurable timeout (default 60s) prevents long-running tools from blocking the agent indefinitely.
Tool Registry
Tools are registered at module startup in FBAIToolToolRegistry::RegisterBuiltInTools(). Each tool inherits from FBAIToolToolBase and implements Execute(Args). You can disable individual tools globally or per-profile in Settings.
Scripting
execute_python
Execute arbitrary Python scripts inside the Unreal Editor Python environment. Provides access to 1000+ UE Python APIs for asset creation, manipulation, editor automation, and bulk operations. This is the most powerful and flexible tool.
Arguments: script (string)
Reading & Introspection
read_file
Read an asset's contents with deep introspection. For Blueprints, this includes full graph structure, node details, pin connections, variables, components, functions, and events. Also reads C++ source files, data tables, and other text-based assets.
Arguments: name (string), path? (string), graph? (string)
find_node
Search for nodes within a Blueprint graph by name, type, or property. Returns matching node GUIDs and details. Use this before editing to locate specific nodes.
Arguments: asset (string), query (string), graph? (string)
read_logs
Read the Unreal Engine output log or compile a Blueprint and return compiler errors/warnings. Supports filtering by category and log level.
Arguments: operation ('read_log' | 'compile_blueprint'), asset? (string)
screenshot
Capture a screenshot of the level viewport or an asset editor viewport. Supports camera positioning for level captures. Returns a base64-encoded image for vision-capable models.
Arguments: target ('viewport' | 'asset_editor'), asset? (string), camera? (object)
Blueprint Editing
edit_blueprint
Create and modify Blueprint assets. Operations include adding/removing components, variables, functions, event dispatchers, interface implementations, and widget hierarchy manipulation. Also supports Animation Blueprint state machine editing.
Arguments: name (string), operation (string), ... operation-specific args
edit_graph
Edit Blueprint event graphs and function graphs. Add nodes, create connections between pins, set default values, remove nodes, and rewire logic. Supports live preview for Material graphs.
Arguments: asset (string), operation (string), graph? (string), ... operation-specific args
configure_asset
Set properties on any asset using dot-notation paths. Supports targeting specific graph nodes by GUID. Useful for configuring assets that don't have dedicated editing tools.
Arguments: asset_path (string), property (string), value (any)
Data Structures
edit_data_structure
Create and edit UStruct and UEnum assets. Add, remove, or rename fields in user-defined structs, and add/remove entries in user-defined enums. Not available through Python.
Arguments: asset (string), operation (string), ... operation-specific args
Animation
edit_ik_rig
Edit IK Rig assets for inverse kinematics. Add/remove goals, solvers, bone chains, and retarget chains. Supports Full Body IK and CCDIK solver configurations.
Arguments: asset (string), operation (string), ...
edit_ik_retargeter
Edit IK Retargeter assets for animation retargeting between skeletons. Configure source/target IK rigs, chain mappings, and global settings.
Arguments: asset (string), operation (string), ...
edit_pose_search
Edit Pose Search databases for Motion Matching. Add/remove animation sequences, configure search settings, schema channels, and pose features.
Arguments: asset (string), operation (string), ...
edit_montage
Edit Animation Montage assets. Manage sections, notifies, blend settings, slot assignments, and section sequencing for cinematic and gameplay animations.
Arguments: asset (string), operation (string), ...
edit_anim_sequence
Edit Animation Sequence assets. Add/remove notifies, curves, sync markers. Configure additive animation settings, root motion, and compression options.
Arguments: asset (string), operation (string), ...
edit_blend_space
Edit BlendSpace and BlendSpace1D assets. Add/remove sample points, configure axis ranges, blending parameters for locomotion and aim offsets.
Arguments: asset (string), operation (string), ...
edit_skeleton
Edit Skeleton assets. Manage sockets, virtual bones, retarget sources, animation slots, curves, and blend profiles for character rigs.
Arguments: asset (string), operation (string), ...
edit_control_rig
Edit Control Rig assets. Modify the rig hierarchy (bones, nulls, controls) and RigVM graph (add/connect/remove nodes for procedural rigging logic).
Arguments: asset (string), operation (string), ...
AI & Behavior
edit_behavior_tree
Edit Behavior Tree and Blackboard assets. Add/remove tasks, decorators, services, composites, and blackboard keys for AI decision-making logic.
Arguments: asset (string), operation (string), ...
edit_state_tree
Edit StateTree assets for hierarchical state machines. Manage states, transitions, tasks, evaluators, and linked sub-trees.
Arguments: asset (string), operation (string), ...
VFX & Materials
edit_niagara
Edit Niagara System and Emitter assets. Add/remove modules, set parameter values, configure emitter properties, renderers, and simulation stages.
Arguments: asset (string), operation (string), ...
Cinematics
edit_sequencer
Edit Level Sequence assets for cinematics. Add/remove tracks, set keyframes, manage bindings to actors, configure camera cuts, and control playback ranges.
Arguments: asset (string), operation (string), ...
Physics
edit_physics_asset
Edit Physics Asset (PhAT) assets. Add/remove physics bodies, configure collision shapes (spheres, capsules, boxes), set up constraints between bones, and manage collision profiles for ragdoll physics.
Arguments: asset (string), operation (string), ...
Input
edit_enhanced_input
Edit Enhanced Input assets. Create and configure InputAction assets (value types, triggers, modifiers) and InputMappingContext assets (action bindings, key mappings).
Arguments: asset (string), operation (string), ...
Content Generation
generate_image
Generate an image from a text prompt using an OpenRouter vision model. The resulting image is automatically imported as a Texture2D asset. Requires an OpenRouter API key.
Arguments: prompt (string), destination_path? (string), asset_name? (string), model? (string)
generate_3d_model
Generate a 3D model from a text prompt using the Meshy API. Supports text-to-3D, image-to-3D, and multi-image-to-3D workflows. The GLB file is downloaded and imported as a StaticMesh. Requires a Meshy API key.
Arguments: prompt (string), art_style? (string), destination_path? (string), ...
Extending with Custom Tools
To add a custom tool, create a subclass of FBAIToolToolBase, implement GetName(), GetDescription(), GetInputSchema(), and Execute(), then register it with FBAIToolToolRegistry::Get().Register(MakeShared<YourTool>()).