DocsTools Reference

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_python

Execute arbitrary Python scripts in Unreal Editor Python environment with access to 1000+ UE Python APIs.

# Reading & Introspection

read_file

Read asset contents with deep introspection including full graph structure.

find_node

Search for nodes within Blueprint graphs by name, type, or property.

read_logs

Read output log or compile Blueprints and return compiler errors/warnings.

screenshot

Capture viewport or asset editor screenshots with optional camera positioning.

# Blueprint Editing

edit_blueprint

Create/modify Blueprints including components, variables, functions, event dispatchers.

edit_graph

Edit event graphs and function graphs; add nodes, create connections, set default values.

configure_asset

Set properties on any asset using dot-notation paths.

# Data Structures

edit_data_structure

Create/edit UStruct and UEnum assets.

# Animation

edit_ik_rig

Create and configure IK rigs for skeletal meshes.

edit_ik_retargeter

Set up IK retargeters between different skeletons.

edit_pose_search

Configure pose search databases for motion matching.

edit_montage

Create and edit animation montages with sections and notifies.

edit_anim_sequence

Modify animation sequence properties and curves.

edit_blend_space

Create and configure blend spaces for animation blending.

edit_skeleton

Modify skeleton assets and socket configurations.

edit_control_rig

Create and edit control rigs for animation authoring.

# AI & Behavior

edit_behavior_tree

Manage tasks, decorators, services, composites, blackboard keys.

edit_state_tree

Edit hierarchical state machines.

# VFX & Materials

edit_niagara

Edit Niagara Systems and Emitters.

# Cinematics

edit_sequencer

Edit Level Sequences for cinematics.

# Physics

edit_physics_asset

Edit Physics Assets; manage collision shapes and constraints.

# Input

edit_enhanced_input

Configure InputAction and InputMappingContext assets.

# Content Generation

generate_image

Generate images from text prompts via OpenRouter API.

generate_3d_model

Generate 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>())