SF
STS Forge

AI Guide: All Verbs

Complete verb catalog for AI assistants. All 115+ verbs with invocation patterns and links.

Programmatic Blueprint inspection and manipulation for Unreal Engine 5.7+. 115 verbs across 21 asset domains. Read any UObject, write Blueprints and domain-specific assets, all from CLI or HTTP.

Invocation#

Transport tiers (fastest first)#

Tier 1 - HTTP to running editor/server (instant):

curl -s http://localhost:7850/baa/v1/status
# If success: use HTTP endpoints below

Tier 2 - Launch BAAServer (one-time startup, then HTTP):

"<ENGINE>/UnrealEditor-Cmd.exe" "<PROJECT>.uproject" \
  -run=BAAServer -port=7850 -timeout=300 -nullrhi -nosplash -nosound -unattended &
# Wait for: curl -s http://localhost:7850/baa/v1/status

Tier 3 - One-shot commandlet (30-60s startup each time):

"<ENGINE>/UnrealEditor-Cmd.exe" "<PROJECT>.uproject" \
  -run=BlueprintAIAssistant -verb=<VERB> [args...] -nullrhi -nosplash -nosound -unattended

HTTP endpoints#

Method Route Purpose
POST /baa/v1/execute Execute one verb: {"verb":"...", "args":{...}}
POST /baa/v1/batch Execute batch operations (same JSON as batch verb)
GET /baa/v1/status Server health: {running, port, verbCount, mode}
GET /baa/v1/verbs List all registered verb names
POST /baa/v1/build Trigger Live Coding compile (editor mode only)
POST /baa/v1/shutdown Stop server (commandlet exits; editor stops HTTP only)

Commandlet flags#

Flag Purpose
-verb=<name> Verb to execute
-asset=<path> Asset content path (e.g., /Game/Blueprints/BP_Player)
-format=<fmt> Output format: overview, summary (default), detail, backup
-compile Compile after write operations
-save Save after write operations
-about=<verb> With -verb=help, show detailed help for one verb
-dry-run Preview changes for write verbs without applying them

Important: All argument keys are lowercase in the args map (e.g., srcnode not srcNode).

Before building (UBT)#

Shut down BAAServer first (it holds DLL locks):

curl -s http://localhost:7850/baa/v1/status
# If mode=commandlet: POST /baa/v1/shutdown, wait for exit
# If mode=editor: warn user to close editor for full build, or use /build endpoint for Live Coding
# If connection refused: proceed (nothing running)

Output formats#

Format Size Use case
overview Smallest Quick scan: metadata + condensed graph only (no vars/components/CDO)
summary Moderate Normal inspection: all sections + full tree-walk graphs (default)
detail Larger Write operations: same as summary + 8-char node GUIDs on every node
backup Full Complete structured JSON with all nodes, pins, and full GUIDs

Use detail format when you need node GUIDs for connect, disconnect, set-pin-default, or remove-node.

Batch mode#

Send multiple operations in one request to avoid repeated engine startups:

{
  "defaultAsset": "/Game/BP_Test",
  "operations": [
    {"verb": "add-var", "args": {"name": "Health", "type": "float"}},
    {"verb": "set-var-default", "args": {"name": "Health", "value": "100.0"}},
    {"verb": "set-var-flags", "args": {"name": "Health", "flags": "EditAnywhere,BlueprintReadWrite"}}
  ]
}

Use $N to reference output from operation N (1-indexed). See Batch Operations.

All 115 verbs#

Discovery & Diagnostics#

Verb Description
list Find assets by path, class, name, or asset type
help Show structured verb documentation (-about=<verb> for details)
validate Check Blueprint for issues without modifying
find-nodes Search graphs for nodes by class, function, variable, or text

Read operations#

Verb Description
export Export any UObject asset (overview/summary/detail/backup)
read-graph Read a single graph's nodes, pins, connections
read-var Read a variable's type, default value, flags
read-cdo Read Class Default Object properties diffed against defaults
read-components Read component hierarchy tree

Asset lifecycle#

Verb Description
create Create a new Blueprint asset
compile Compile a Blueprint
save Save an asset to disk
batch Execute multiple operations from JSON

Variables (6 verbs)#

Verb Description
add-var Add a member variable (with optional type, category, replication)
remove-var Remove a member variable
set-var-default Set variable default value
set-var-flags Set property flags (EditAnywhere, BlueprintReadWrite, Replicated, etc.)
set-var-meta Set extended metadata (clamps, edit conditions, rep conditions)
rename-var Rename a variable

Functions & structure (15 verbs)#

Verb Description
add-function Create a function graph (optional: pure)
remove-function Remove a function graph
rename-function Rename a function graph
set-function-flags Set access, const, RPC, category, description
add-function-param Add input/output parameter to a function
remove-function-param Remove a function parameter
add-local-var Add a local variable to a function
remove-local-var Remove a local variable from a function
add-event-dispatcher Create an event dispatcher
remove-event-dispatcher Remove an event dispatcher
rename-event-dispatcher Rename an event dispatcher
add-event-param Add a parameter to a custom event
add-interface Implement an interface
remove-interface Remove an implemented interface
reparent Change Blueprint parent class

Graph editing (6 verbs)#

Verb Description
add-node Add a graph node (40 types - see Graph Editing)
connect Connect two node pins (srcnode/srcpin/dstnode/dstpin)
disconnect Break pin connections (node/pin, optional targetnode/targetpin)
set-pin-default Set a pin's default value
remove-node Remove a node by GUID
trace-path BFS traversal of exec pin connections from a source node to a target node

Components & CDO (4 verbs)#

Verb Description
add-component Add a component to SCS tree
set-component-property Set a property on a component
remove-component Remove a component
set-cdo-property Set a CDO property value (supports dot notation)

Asset management (5 verbs)#

Verb Description
rename-asset Rename or move an asset
duplicate-asset Duplicate an asset
delete-asset Delete an asset (checks references; -force to skip)
dependencies List asset dependencies
referencers List assets referencing this asset

DataTable (5 verbs)#

Verb Description
dt-list-rows List all rows
dt-read-row Read a row's fields
dt-add-row Add an empty row
dt-remove-row Remove a row
dt-set-field Set a field value

Curve (3 verbs)#

Verb Description
curve-list-keys List keys across all channels
curve-add-key Add/update a key (time, value, optional interp and channel)
curve-remove-key Remove a key at a time

UserDefinedEnum (4 verbs)#

Verb Description
enum-list List all values in a UserDefinedEnum asset
enum-add-value Add a new value to a UserDefinedEnum
enum-remove-value Remove a value from a UserDefinedEnum by name
enum-set-display-name Rename a UserDefinedEnum value's display name

Note: enum-add-value, enum-remove-value, and enum-set-display-name support -dry-run to preview changes.

UserDefinedStruct (4 verbs)#

Verb Description
struct-list-fields List all fields in a UserDefinedStruct asset
struct-add-field Add a new field to a UserDefinedStruct (type, optional default)
struct-remove-field Remove a field from a UserDefinedStruct by name
struct-rename-field Rename a field in a UserDefinedStruct

Note: struct-add-field, struct-remove-field, and struct-rename-field support -dry-run to preview changes.

Array operations (6 verbs)#

Verb Description
array-count Get element count and type
array-get Read one element (-index=N) or all (-all)
array-add Append an element
array-remove Remove element by index
array-clear Clear all elements
array-set Set element at index

Material graph (7 verbs)#

Verb Description
mat-list-expressions List expressions in a Material
mat-add-expression Add an expression (class, optional name for parameters)
mat-connect Connect expression outputs to inputs
mat-connect-property Connect expression to material property (BaseColor, Normal, etc.)
mat-delete-expression Delete an expression
mat-recompile Recompile material and shaders

MaterialInstance (2 verbs)#

Verb Description
mi-list-params List parameter overrides
mi-set-param Set a parameter (scalar, vector, texture, staticswitch)

AnimMontage (3 verbs)#

Verb Description
montage-list List sections and notifies
montage-add-section Add a section (name, starttime)
montage-add-notify Add a notify (time, notify class, optional duration)

SoundCue (3 verbs)#

Verb Description
soundcue-list List nodes in the SoundCue graph
soundcue-add-node Add a node (WavePlayer, Random, Attenuation, Modulator, etc.)
soundcue-connect Connect two SoundCue nodes

Widget Blueprint (5 verbs)#

Verb Description
widget-list List widget tree
widget-add Add a widget (class, name, optional parent panel)
widget-remove Remove a widget
widget-set-property Set a property on a widget
widget-set-slot Set slot/layout properties (Canvas, VBox, HBox)

Level Sequencer (5 verbs)#

Verb Description
seq-list-tracks List tracks in a LevelSequence
seq-add-track Add a track (Float, Bool, Transform, Event, Audio, etc.)
seq-add-section Add a section (startframe, endframe)
seq-add-key Add a keyframe (frame, value, optional section/channel)
seq-set-range Set playback range

BehaviorTree (5 verbs)#

Verb Description
bt-list List node tree structure
bt-add-node Add task/composite (Selector, Sequence, MoveTo, Wait, etc.)
bt-add-decorator Add decorator (Blackboard, ConeCheck, Cooldown, Loop, etc.)
bt-add-service Add service (BlackboardBase, DefaultFocus, or class name)
bt-set-property Set a property on a BT node (supports dot notation)

Blackboard (3 verbs)#

Verb Description
bb-list-keys List keys in a BlackboardData asset
bb-add-key Add a key (Bool, Float, Int, String, Object, Vector, etc.)
bb-remove-key Remove a key

Niagara (2 verbs)#

Verb Description
niagara-list-params List user parameters on a NiagaraSystem
niagara-set-param Set a user parameter value

Enhanced Input (3 verbs)#

Verb Description
create-input-action Create an InputAction asset
create-input-mapping Create an InputMappingContext asset
input-map-key Map a key to an action in a mapping context

Config (3 verbs)#

Verb Description
config-get Read a config/INI value
config-set Set a config/INI value
config-list List keys in a config section

Gameplay Tags (3 verbs)#

Verb Description
tag-add Add a gameplay tag (optional comment)
tag-remove Remove a gameplay tag
tag-list List tags (optional prefix filter)

Texture (1 verb)#

Verb Description
texture-export Export texture to file (png, jpg, bmp, exr)

Variable type system#

Used by add-var, add-function-param, add-local-var, add-event-param:

Arg Purpose Examples
type Base type bool, float, int, int64, byte, String, Name, Text, Vector, Rotator, Transform, LinearColor, Object, Class, SoftObject, Enum, Struct
subtype Object/struct/enum class Actor, PlayerController, FMyStruct, EMyEnum
container Container wrapper array, set, map
keytype Map key type Same as type
keysubtype Map key class Same as subtype

Known limitations#

  • BlueprintImplementableEvent overrides cannot be created via BAA's add-node -type=Event. The node compiles but the override binding is not set. Add the event override manually in the editor; BAA can handle all downstream work after that.
  • EnhancedInput and Niagara verbs require those plugins in the engine (conditionally compiled).
  • Visual-only tasks (viewport layout, material preview, widget appearance) require the editor.

Detailed reference#

Each verb's full parameter table, examples, and notes:

Domain Reference
Discovery, read, lifecycle Blueprint Core
Variables Variables
Functions & structure Functions & Structure
Graph editing (add-node types) Graph Editing
Components & CDO Components & CDO
Asset management Asset Management
DataTable, Curve, Array Data Assets
Material graph & MaterialInstance Materials
AnimMontage & SoundCue Animation & Audio
Widget Blueprint UI Widgets
Level Sequencer Sequencer
BehaviorTree & Blackboard AI Systems
Niagara, Input, Config, Tags, Texture Specialized

Other references: