Tools Reference
Blueprint AI registers 25+ tools that AI agents can call to read, create, and modify Unreal Engine assets.
Tools execute on the game thread and log 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 of 60 seconds prevents long-running tools from blocking agents indefinitely.
# Tool Registry
Tools register at module startup in FBAIToolToolRegistry::RegisterBuiltInTools(). Each tool inherits from FBAIToolToolBase and implements Execute(Args). Individual tools can be disabled globally or per-profile in Settings.
# Scripting
execute_pythonExecute arbitrary Python scripts in Unreal Editor Python environment with access to 1000+ UE Python APIs.
# Reading & Introspection
read_fileRead asset contents with deep introspection including full graph structure.
find_nodeSearch for nodes within Blueprint graphs by name, type, or property.
read_logsRead output log or compile Blueprints and return compiler errors/warnings.
screenshotCapture viewport or asset editor screenshots with optional camera positioning.
# Blueprint Editing
edit_blueprintCreate/modify Blueprints including components, variables, functions, event dispatchers.
edit_graphEdit event graphs and function graphs; add nodes, create connections, set default values.
configure_assetSet properties on any asset using dot-notation paths.
# Data Structures
edit_data_structureCreate/edit UStruct and UEnum assets.
# Animation
edit_ik_rigCreate and configure IK rigs for skeletal meshes.
edit_ik_retargeterSet up IK retargeters between different skeletons.
edit_pose_searchConfigure pose search databases for motion matching.
edit_montageCreate and edit animation montages with sections and notifies.
edit_anim_sequenceModify animation sequence properties and curves.
edit_blend_spaceCreate and configure blend spaces for animation blending.
edit_skeletonModify skeleton assets and socket configurations.
edit_control_rigCreate and edit control rigs for animation authoring.
# AI & Behavior
edit_behavior_treeManage tasks, decorators, services, composites, blackboard keys.
edit_state_treeEdit hierarchical state machines.
# VFX & Materials
edit_niagaraEdit Niagara Systems and Emitters.
# Cinematics
edit_sequencerEdit Level Sequences for cinematics.
# Physics
edit_physics_assetEdit Physics Assets; manage collision shapes and constraints.
# Input
edit_enhanced_inputConfigure InputAction and InputMappingContext assets.
# Content Generation
generate_imageGenerate images from text prompts via OpenRouter API.
generate_3d_modelGenerate 3D models via Meshy API supporting text-to-3D workflows.
# Custom Tool Extension
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>())