DocsTools Reference

Tools Reference

Blueprint Stack registers 48 tools that AI agents can call to read, create, and modify Unreal Engine assets.

Tools execute on the game thread with a configurable timeout (default 60s) and can be enabled/disabled individually or via capability profiles.

# 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 via FBSToolRegistry category methods (e.g. RegisterBlueprintTools(), RegisterAnimationTools()). Each tool is defined as an FBSToolDef with an FBSToolHandler delegate. Individual tools can be disabled globally or per-profile in Settings.

# Blueprint

edit_blueprint_structure

Add/remove variables, functions, components, event dispatchers, interface implementations.

edit_blueprint_graph

Modify graphs - add/remove/connect nodes, set pin values (event graphs, function graphs, macros).

find_blueprint_nodes

Search graphs by title, class name, or comment text.

compile_blueprint

Compile and return errors/warnings.

save_asset

Save an asset to disk.

# Animation

edit_animation_sequence

Add/remove notifies, curves, sync markers.

edit_skeletal_mesh_sockets

Create/modify/remove skeletal mesh sockets.

edit_animation_montage

Edit montages - sections, slot name, blend times, notifies.

edit_blend_space

Modify axis settings and animation samples.

edit_skeleton

Edit virtual bones and bone listing.

edit_physics_asset

Manage physics bodies and constraints.

edit_ik_rig

Add/remove solvers and goals.

edit_ik_retargeter

Source/target skeleton and chain mappings.

edit_control_rig

Modify controls, hierarchy, RigVM graph.

# Data & Structure

edit_data_structure

Add/remove/rename struct fields and enum values.

read_asset

Read metadata, graph contents, class info, variables, functions, components.

configure_asset

Generic property editor - get/set/list properties on any loaded asset.

# Material & VFX

edit_material

Add expression nodes, set parameters, connect pins, set texture parameters.

edit_niagara_system

Modify particle system parameters, add/remove modules.

# AI & Gameplay Systems

edit_behavior_tree

Add/modify tasks, decorators, services, composites.

edit_gameplay_ability

Set properties, add/remove gameplay tags (GAS).

edit_state_tree

Edit hierarchical state machines.

edit_enhanced_input

Edit InputActions and InputMappingContexts.

# Pose & Sequencer

edit_pose_search

Edit Pose Search database assets for motion matching.

edit_sequencer

Edit Level Sequences - list tracks, set playback range, manage folders.

# Level

list_actors

List actors with filtering by class, tag, name, folder.

spawn_actor

Spawn from class or Blueprint path.

delete_actor

Delete by label or path.

transform_actor

Get/set location, rotation, scale.

get_actor_properties

Read class, components, tags, properties.

set_actor_properties

Set properties on actors.

duplicate_actor

Duplicate with optional position offset.

select_actors

Select by label or class.

edit_world_settings

Get/set world settings.

# Data Table

edit_data_table

List/get/add/remove/update rows and cells.

# Utility

execute_python

Run Python via PythonScriptPlugin.

read_file

Read from project directory (sandboxed).

write_file

Write/append text files.

read_output_log

Read recent Output Log entries.

capture_viewport

Screenshot as base64 PNG.

list_assets

Search asset registry by path/type/name.

explore_project

Search files, source code, assets.

get_project_info

Project name, engine version, directories, settings, plugins.

manage_assets

Create/rename/duplicate/delete/move assets.

get_asset_references

Find what references an asset or vice versa.

# Generation

generate_image

DALL-E / gpt-image-1 - generates images and imports as Texture2D.

generate_3d_model

Meshy AI - generates GLB models and imports as static meshes.

# Play

play_in_editor

Start/stop/query PIE sessions.

# Custom Tool Extension

To add a custom tool, define an FBSToolDef with a name, description, and JSON input schema, then bind an FBSToolHandler delegate and register it:

ToolRegistry.RegisterTool(MyToolDef, MyToolHandler)