Skip to main content

ai kit

257 tools. Generated from the plugin source; do not edit by hand.

Guide​

The ai kit authors Blackboards, Behavior Trees, EQS queries, AI Perception, State Trees and Smart Objects, and drives AI agents during PIE. Asset tools take a content path (/Game/AI/EQ_Cover) or a unique asset name; actor tools take an actor label, name, or class:<Class> for the only actor of a class. Distances are centimetres, angles degrees, ages seconds.

PrefixAreaWorld
ai.create_test_setup, ai.list_assets, ai.list_*_classesshared fixtures, inventoryassets
ai.bb_*Blackboard assets and keysassets
ai.bt_*Behavior Tree runtime hierarchyassets
ai.eqs_*EQS queries: options, generators, tests, contexts, recipes, export/import, audit, runassets; ai.eqs_run editor or PIE world
ai.perception_*, ai.stimuli_add/get/remove_source, ai.spawn_test_actor, ai.{set,get}_pawn_ai_settingsperception components, senses, presets, stimuli sources, pawn AI settingseditor world (PIE world while PIE runs)
ai.spawn_ai, controller tools, ai.runtime_get_perception, ai.report_*, ai.stimuli_{register,unregister}_sense, teamsAI agents at run timePIE only
ai.so_*Smart Objects (UE 5.0+, SmartObjects plugin)assets / PIE

State Tree authoring moved to the separate statetree kit (UE 5.8+, StateTree plugin) — see Docs/guides/statetree.md. ai.bt_* still owns Behavior Trees and ai.so_* still owns Smart Objects.

Start here​

  • ai.create_test_setup {folder} creates (or reuses) BB_AiSmoke (keys TargetActor, PatrolIndex, HomeLocation, IsAlert), BT_AiSmoke (RootSelector linked to the Blackboard) and EQ_AiSmoke (grid around the querier scored by distance): a complete, runnable set to experiment with.
  • ai.list_assets {folder} lists Blackboards, Behavior Trees and EQS queries.
  • Class pickers: ai.list_ai_controller_classes, ai.list_bt_{task,decorator,service}_classes, ai.eqs_list_{generator,test,context}_classes, ai.perception_list_sense_classes.

Blackboards and Behavior Trees​

  • Node references: node/parent accept a node ID (nodes[].id), a path (root/1/0, root/1@d0 decorator, root@s0 service) or the node name; empty parent = root. Every edit returns the rebuilt hierarchy plus graphSync.
  • Editor graph: 5.3+ rebuilds the graph after each edit (rebuilt); 4.27–5.2 clear it (cleared) and the editor regenerates it on open — the stock editor then picks the first loaded blackboard, so run ai.bt_set_blackboard again. ai.bt_arrange (5.3+) lays out the graph.
  • Recipe, enemy AI in 6 calls: ai.bb_create → ai.bb_add_keys → ai.bt_create {blackboard} → ai.bt_chase_attack_recipe {targetKey:'TargetActor', index:0} → ai.bt_investigate_recipe {locationKey, conditionKey:'IsAlert'} → ai.bt_patrol_recipe {locationKey:'HomeLocation'}, then ai.bt_validate_runtime_hierarchy.
  • Conditions and flow: typed decorators take abortMode (none/self/lowerPriority/both; sequences cannot abort lower priority) and inverse. Combine with ai.bt_set_decorator_logic {expression:'and(A,not(B))'}, which must use every decorator of the child exactly once; adding or removing a decorator clears the logic.
  • Keys: ai.bt_set_blackboard_selector {property:'BlackboardKey', key} rejects key types the node does not accept; ai.bb_find_references shows which nodes use a key before a rename/remove.
  • Blackboard defaults: ai.bb_set_<type> needs 5.4+ (enum/class/object 5.5+); use ai.bb_add_key/ai.bb_set_key on older engines. ai.bb_export_schema → ai.bb_import {mode:'merge'|'replace'} copies a schema; ai.bb_diff compares two blackboards.
  • Round trip: ai.bt_export → ai.bt_import (replaces the whole tree; the node id is the node name).

EQS​

EQS tools edit the runtime UEnvQuery containers (options -> generator + tests). The EQS editor graph is not regenerated: close the asset editor while editing and reopen it afterwards. Every edit returns structure (options with generator class, item type, contexts, and tests with purpose, filter type, scoring equation and factor) plus option / test indices, so a second ai.eqs_get is rarely needed.

Build a query in 3 calls (recipes)​

RecipeResult
ai.eqs_cover_recipe {query, radius, spaceBetween, targetContext?}grid around the querier; test 0 Trace filter "hidden from target"; test 1 Distance score (near querier)
ai.eqs_nearest_reachable_recipe {query, radius, spaceBetween}grid; test 0 Pathfinding PathExist filter; test 1 Distance score (needs a navmesh when run)
ai.eqs_points_around_target_recipe {query, radius, numberOfPoints, targetContext?}circle around the target; test 0 Distance score (near querier)

targetContext is a UEnvQueryContext class (Blueprint contexts included); empty uses EnvQueryContext_Querier. Create a Blueprint context for "the player" or "the current enemy" with ai.eqs_create_context_blueprint {folder, name} and implement its Provide* function with the bp kit; the reply's generatedClass is what you pass as a context.

Edit by hand​

  1. ai.eqs_create {query:'/Game/AI/EQ_Flank'}.
  2. ai.eqs_add_option {query, class:'/Script/AIModule.EnvQueryGenerator_SimpleGrid'} (options run in order until one yields items; reorder with ai.eqs_move_option, copy with ai.eqs_duplicate_option, swap the generator with ai.eqs_replace_generator).
  3. Configure the generator with a typed tool: ai.eqs_configure_grid, _circle, _donut, _cone, _actors_of_class, _pathing_grid, _current_location; projection of point generators with ai.eqs_set_projection {traceMode, projectDown, projectUp}.
  4. ai.eqs_add_test {option, class} then a typed tool: ai.eqs_configure_distance_test, _trace_test, _dot_test, _pathfinding_test, _overlap_test, _project_test.
  5. Purpose and scoring: ai.eqs_set_test_scoring {purpose, scoringEquation, scoringFactor, clampMinType, scoreClampMin...}; filtering: ai.eqs_set_test_filter {filterType, min, max} (float tests: Minimum/Maximum/Range) or {filterType:'Match', match} (bool tests such as Trace, Overlap, Pathfinding PathExist). A mismatched filter type is refused with the right choice.
  6. Contexts anywhere: ai.eqs_set_context {option, test (-1 = generator), property, context} (GenerateAround, CircleCenter, DistanceTo, Context, LineA.LineFrom...).
  7. Anything else: ai.eqs_set_generator / ai.eqs_set_test {property, value} in engine text form; dotted paths reach data-provider values (GridSize.DefaultValue, ScoringFactor.DefaultValue). ai.eqs_get_generator / ai.eqs_get_test list the editable properties.

Enum-valued arguments are validated against the engine enum; the error lists the valid names. Engine differences surface there: traceMode is Geometry on 4.27 and GeometryByChannel/GeometryByProfile on 5.x.

Run, check, move​

  • ai.eqs_run {query, querier, runMode, maxItems} runs synchronously in the editor world (the PIE world while PIE runs) and returns status, optionIndex, itemType, totalItems and the scored items (best first: score, location, actor label for actor items). querier is any actor; class:WorldSettings is a neutral querier at the origin. A Failed status with zero items is a result, not an error (e.g. all points dropped by navmesh projection when the level has no navmesh: set ai.eqs_set_projection {traceMode:'None'} to test without one).
  • ai.eqs_validate (one query) and ai.eqs_audit {folder} (every query) report options without a generator or tests, zero scoring factors, tests that do not support the generator item type and empty contexts.
  • ai.eqs_export {query} returns options as generator/test classes plus non-default properties; ai.eqs_import {query, options, replace} rebuilds that format (new path, or replace:true on an existing query). Use it to copy a query between projects or to template variations.
  • ai.eqs_duplicate {query, newPath}, ai.eqs_delete (not undoable).
  • UE 5.8+: ai.eqs_set_strip_from_client_builds {strip} for server-only queries.

Perception​

Perception tools work on level actors in the editor world, or on the PIE world while PIE runs. An AAIController only uses its own perception component: put the component on the controller (Blueprint or ai.perception_add_component on a controller actor), not on the pawn; ai.perception_audit flags components on other actors.

  1. ai.perception_add_component {actor} (returns the existing one with created:false; on an AIController it becomes the controller's perception component). For experiments ai.spawn_test_actor {label, perception:true, stimuliSource:true} spawns a tagged pawn.
  2. Apply a preset or configure senses:
    • ai.perception_guard_preset (sight 2000/2500, 60 degrees, hearing 1500, damage; sight dominant)
    • ai.perception_sniper_preset (sight 6000/6500, 15 degrees, long memory, damage)
    • ai.perception_animal_preset (hearing 3000 dominant, wide short sight for every affiliation, touch)
    • typed: ai.perception_configure_sight {sightRadius, loseSightRadius, peripheralVisionAngle, maxAge, autoSuccessRange, affiliation:{enemies,neutrals,friendlies}, dominant}, ai.perception_configure_hearing {hearingRange, maxAge, affiliation, dominant}
    • per sense: ai.perception_set_max_age, ai.perception_set_affiliation, ai.perception_set_starts_enabled, generic ai.perception_set_sense {sense, property, value}. Presets and configure tools create the sense when missing and update it otherwise.
  3. ai.perception_set_dominant {sense:'/Script/AIModule.AISense_Sight'}; ai.perception_remove_sense {sense:'AISenseConfig_Touch'}; inspect with ai.perception_get (typed senseConfigs with every setting) or ai.perception_get_sense.
  4. Make targets perceivable: ai.stimuli_add_source {actor, senses:['AISense_Sight','AISense_Hearing'], autoRegister}; ai.stimuli_get_source; ai.stimuli_remove_source. Pawns are registered for sight automatically by the engine's default settings; other actors need a stimuli source.
  5. Pawn possession settings: ai.set_pawn_ai_settings {actor, controllerClass, autoPossessAi} (Disabled, PlacedInWorld, Spawned, PlacedInWorldOrSpawned), ai.get_pawn_ai_settings.

sense arguments name the config class (AISenseConfig_Sight) for config tools and the implementation class (AISense_Sight) for dominance, enablement and stimuli tools. Affiliation uses team ids: actors without a team are neutral (see ai.set_team_id).

Smart Objects​

ai.so_* needs the SmartObjects plugin. Definitions: so_create_definition → so_add_slot {name, offset, rotation, activityTags} → so_add_behavior_definition {slot, behaviorClass} (classes from so_list_behavior_definition_classes; they come from GameplayBehaviorSmartObjects, GameplayInteractions or MassGameplay) → so_validate. Edit with so_set_slot (only the fields you flag change), so_set_definition_tags, so_set_slot_property; copy with so_duplicate_definition. Slots cannot be removed from a plugin: disable them with so_set_slot {enabled:'false'}. Definition-level default behaviors are read-only. Level: so_attach_definition {actor, definition} (or spawnNew:true) adds a Smart Object component in the editor world; so_list_world_objects shows registration and slot states. PIE: so_spawn_runtime_object (optionally with a transient definition) → so_find_slots {location, radius, activityTags, behaviorClass} → so_claim_slot {actor, slot} returns claim '<actor>#<slot>' → so_use_slot {claim, behaviorClass} → so_release_slot. so_list_claims shows this session's claims; claims die with the PIE session. Gates: definition tools 5.0 (typed slot fields 5.3), world/PIE tools 5.6.

See Docs/guides/statetree.md for State Tree authoring (statetree.*, separate kit, UE 5.8+).

PIE runtime​

Every tool here requires PIE (play.start). Controllers accept the actor label, name or class:<Class>; replies carry state, a typed snapshot (pawn, brain running/paused, current and root tree, active node, Blackboard, move status, focus, perception senses).

  1. ai.spawn_ai {label, controllerLabel, location, testTree, perception, stimuliSource, behaviorTree?} spawns a Character (or pawnClass) possessed by an AIController (or controllerClass). testTree builds /Engine/Transient.BT_AiSmokeRuntime (Selector + Wait, keys TargetActor/PatrolIndex/HomeLocation/IsAlert); perception gives the controller sight, hearing and damage (every affiliation); stimuliSource registers the pawn for sight and hearing. The reply returns pawn, pawnLabel, controller, controllerLabel. Remove it with ai.despawn_ai.
  2. Brain: ai.run_tree {controller, target:'<tree>'}, ai.pause_tree, ai.resume_tree, ai.restart_tree (restarts the running logic from the root), ai.stop_tree, ai.get_tree_state.
  3. Blackboard: ai.get_blackboard_values (every key with type and value); ai.set_blackboard_value {key, type, value | vector} with type bool, int, float, string, name, vector, rotator (vector = pitch/yaw/roll), enum (numeric), object (actor label) or class; the key type must match. ai.clear_blackboard_value.
  4. Movement and focus: ai.move_to {location | target, acceptanceRadius} returns requestResult (Failed without a navmesh) and moveRequestId; ai.get_move_status, ai.stop_movement; ai.set_focus {target, priority}, ai.set_focal_point, ai.clear_focus, ai.get_focus.
  5. Possession: ai.unpossess, ai.possess {target} (refused when another controller owns the pawn).
  6. Perception at run time: ai.runtime_get_perception {actor} returns every perceived actor with hostile/friendly flags (friendly on UE 5.4+) and its stimuli (sense, age, strength, locations, tag, sensed, expired). Drive it with ai.report_noise {location, loudness, instigator, maxRange, tag}, ai.report_damage {damaged, instigator, amount} and, on UE 5.1+, ai.report_touch {receiver, other}; live stimuli registration with ai.stimuli_register_sense / ai.stimuli_unregister_sense.
  7. Teams: ai.set_team_id {controller, teamId} (255 = no team) and ai.get_team_attitude {actor, target} (Friendly/Neutral/Hostile as perception sees it).
  8. Audits: ai.get_controller, ai.audit_controllers (no pawn, no brain, logic stopped, tree without Blackboard, pawns that expect an AI controller but have none).

Gotchas​

  • EQS and Behavior Tree tools edit runtime data; their editor graphs are not regenerated. Reopen the asset editor only after you are done.
  • ai.eqs_run uses the query as saved in memory; each EQS edit invalidates the EQS manager's cached instance. On UE 4.27 the engine resets only the editor world cache, so re-running an edited query inside the same PIE session may use the old copy: restart PIE.
  • Perception edits on a running PIE component are applied through ConfigureSense and a listener update; removing the dominant sense leaves it dominant (a warning says so).
  • ai.perception_remove_component and ai.stimuli_remove_source only remove components added to the actor instance; components from the actor class must be removed in its Blueprint.
  • ai.perception_is_sense_enabled needs UE 5.0+, ai.report_touch UE 5.1+, ai.eqs_set_strip_from_client_builds UE 5.8.
  • Smart Object tools are hidden unless the SmartObjects plugin is enabled; State Tree tools unless the StateTree plugin is enabled (UE 5.1+).

Tools​

Legend. risk 0 = read-only, 1 = harmless editor op, 2 = modifies asset, 3 = deletes/replaces asset, 4 = project/config/build op, 5 = potentially destructive (calls above MaxAutoRisk need "_confirm": true). mutates = runs in a transaction (edit.undo reverts). requires PIE / requires world = refused without a PIE session / an open level. requires plugin = unavailable while the plugin is disabled. dryRun = honours the dryRun argument. smoke = covered by edit.self_test.

ai.audit_controllers (risk 0, requires PIE, smoke)​

Snapshots of every AI controller plus findings (no pawn, no brain, logic stopped, tree without Blackboard, pawn without controller).

No arguments.

Returns: controllers, count, issues, message.

ai.bb_add_key (risk 2, mutates, smoke)​

Adds a local key of any type (generic form; see the typed ai.bb_set_ tools for defaults).

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.
namestringrequired. Key name.
typestringrequired. bool, int, float, string, name, vector, rotator, enum, nativeEnum, class, or object.
baseClassstringBase class filter for class and object keys.
enumstringEnum asset path for enum keys, or native enum name for nativeEnum keys.
descriptionstringOptional editor description.
categorystringOptional editor category.
instanceSyncedbooleanSynchronize this key between compatible blackboard instances. Default false.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_add_keys (risk 2, mutates, smoke)​

Adds several keys in one call.

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.
keysarray of UeaAiBbKeySpecrequired. Keys to add.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_audit_filters (risk 0, smoke)​

Reports object/class keys without a meaningful base class filter.

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_create (risk 2, mutates, smoke)​

Creates a blackboard asset (optional parent). Returns the key schema.

ArgumentTypeDescription
folderstringrequired. Content folder under /Game.
namestringrequired. Bare asset name.
parentstringOptional parent blackboard asset.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_delete (risk 3, mutates, destructive, smoke)​

Deletes a blackboard asset (refused while referenced).

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_diff (risk 0, smoke)​

Compares two blackboard schemas key by key.

ArgumentTypeDescription
blackboardstringrequired. Left blackboard.
otherstringrequired. Right blackboard.
includeInheritedbooleanCompare the flattened schema including parent keys (false compares local keys only). Default true.

Returns: asset, other, entries, count, identical, message.

ai.bb_duplicate (risk 2, mutates, smoke)​

Duplicates a blackboard asset.

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.
folderstringDestination folder; source folder when empty.
namestringrequired. New asset name.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_export_schema (risk 0, smoke)​

Exports the key schema (keys with type, filters, defaults) in the form accepted by ai.bb_import and ai.bb_add_keys.

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_find_key_usages (risk 0, smoke)​

Lists behavior trees under /Game whose blackboard is this asset.

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_find_references (risk 0, smoke)​

Finds behavior tree nodes whose key selectors reference keys of this blackboard (trees using it or a child blackboard).

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.
namestringOnly report this key name; empty reports every key reference.
folderstringContent folder searched for behavior trees. Default TEXT("/Game").

Returns: asset, references, trees, count, message.

ai.bb_get (risk 0, smoke)​

Returns a blackboard with its full key schema (inherited keys first).

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_get_inherited_keys (risk 0, smoke)​

Inherited keys only.

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_get_key_filter (risk 0, smoke)​

Class or enum filter of one key.

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.
namestringrequired. Key name (local or inherited).

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_get_key_id (risk 0, smoke)​

Runtime key ID of a key (index in the parent-first key list).

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.
namestringrequired. Key name (local or inherited).

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_get_key_schema (risk 0, smoke)​

Typed schema of one key (type, filters, default, key ID, defining asset).

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.
namestringrequired. Key name (local or inherited).

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_get_key_sync (risk 0, smoke)​

Instance synchronization flag of one key.

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.
namestringrequired. Key name (local or inherited).

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_get_local_keys (risk 0, smoke)​

Local keys only.

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_get_parent_chain (risk 0, smoke)​

Parent chain, nearest first (also in parentChain of every reply).

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_import (risk 2, mutates, smoke)​

Applies an exported key schema (merge or replace). Returns the resulting schema; diagnostics list skipped inherited keys.

ArgumentTypeDescription
blackboardstringrequired. Target blackboard asset path or unique name.
keysarray of UeaAiBbKeySpecrequired. Key schema to apply (the keys array returned by ai.bb_export_schema). Inherited keys are skipped.
modestringmerge: add missing keys and rewrite same-type keys; replace: also remove local keys not listed and retype listed ones. Default TEXT("merge").

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_list (risk 0, smoke)​

Lists blackboard assets in a folder.

ArgumentTypeDescription
folderstringContent folder to search. Default TEXT("/Game").
recursivebooleanSearch subfolders. Default true.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_list_keys (risk 0, smoke)​

Lists every key, inherited keys first, with key IDs.

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_move_key (risk 2, mutates, smoke)​

Moves a local key to another local index (key IDs change).

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.
namestringrequired. Local key name.
indexintegerrequired. Destination local-key index, zero based.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_refresh_schema (risk 2, mutates, smoke)​

Runs the engine refresh (parent keys, key IDs, persistent keys) like the blackboard editor does.

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_remove_key (risk 3, mutates, destructive, smoke)​

Removes a local key. Inherited keys must be removed on the parent that defines them.

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.
namestringrequired. Key name.
typestringrequired. bool, int, float, string, name, vector, rotator, enum, nativeEnum, class, or object.
baseClassstringBase class filter for class and object keys.
enumstringEnum asset path for enum keys, or native enum name for nativeEnum keys.
descriptionstringOptional editor description.
categorystringOptional editor category.
instanceSyncedbooleanSynchronize this key between compatible blackboard instances. Default false.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_rename_key (risk 2, mutates, smoke)​

Renames a local key (behavior tree selectors that use the old name must be updated; see ai.bb_find_references).

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.
namestringrequired. Current local key name.
newNamestringrequired. New key name.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_set_bool (risk 2, mutates, UE 5.4+, smoke)​

Creates or updates a bool key with its default value (5.4+).

ArgumentTypeDescription
defaultValuebooleanDefault value. Default false.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_set_class (risk 2, mutates, UE 5.5+, smoke)​

Creates or updates a class key: base class filter and default class (5.5+).

ArgumentTypeDescription
baseClassstringrequired. Base class filter, e.g. Actor or /Script/Engine.Pawn.
defaultValuestringDefault class (must derive from baseClass); empty for none.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_set_enum (risk 2, mutates, UE 5.5+, smoke)​

Creates or updates an enum key: enum type and default enumerator (5.5+).

ArgumentTypeDescription
enumstringrequired. Enum type: UserDefinedEnum asset path or native /Script/Module.EnumName.
defaultValuestringDefault enumerator name (short or qualified); empty selects the first enumerator.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_set_float (risk 2, mutates, UE 5.4+, smoke)​

Creates or updates a float key with its default value (5.4+).

ArgumentTypeDescription
defaultValuenumberDefault value. Default 0.0f.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_set_int (risk 2, mutates, UE 5.4+, smoke)​

Creates or updates an int key with its default value (5.4+).

ArgumentTypeDescription
defaultValueintegerDefault value. Default 0.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_set_key (risk 2, mutates, smoke)​

Rewrites a local key definition (type, filters, description, category, instanceSynced).

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.
namestringrequired. Key name.
typestringrequired. bool, int, float, string, name, vector, rotator, enum, nativeEnum, class, or object.
baseClassstringBase class filter for class and object keys.
enumstringEnum asset path for enum keys, or native enum name for nativeEnum keys.
descriptionstringOptional editor description.
categorystringOptional editor category.
instanceSyncedbooleanSynchronize this key between compatible blackboard instances. Default false.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_set_key_filter (risk 2, mutates, smoke)​

Changes only the class filter (class/object keys) or enum (enum/nativeEnum keys) of a local key.

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.
namestringrequired. Local key name.
baseClassstringNew base class filter (class and object keys), e.g. Pawn or /Script/Engine.Pawn.
enumstringNew enum (enum keys: UserDefinedEnum path or /Script/Module.EnumName; nativeEnum keys: enum name).

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_set_key_sync (risk 2, mutates, smoke)​

Changes only the instance synchronization flag of a local key.

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.
namestringrequired. Local key name.
instanceSyncedbooleanrequired. Synchronize the key value between every blackboard component that uses this asset.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_set_name (risk 2, mutates, UE 5.4+, smoke)​

Creates or updates a name key with its default value (5.4+).

ArgumentTypeDescription
defaultValuestringDefault value (a name).

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_set_object (risk 2, mutates, UE 5.5+, smoke)​

Creates or updates an object key: base class filter and default object (5.5+).

ArgumentTypeDescription
baseClassstringrequired. Base class filter, e.g. Actor or /Script/Engine.Pawn.
defaultValuestringDefault object path (an asset that is a baseClass); empty for none.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_set_parent (risk 2, mutates, smoke)​

Sets or clears the parent blackboard (cycles and duplicate key names are rejected).

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.
parentstringParent blackboard; empty clears the parent.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_set_rotator (risk 2, mutates, UE 5.4+, smoke)​

Creates or updates a rotator key with its default value (5.4+).

ArgumentTypeDescription
defaultValue{x,y,z}Default value {x=pitch,y=yaw,z=roll}.
useDefaultbooleanUse defaultValue as the initial value (false leaves the key unset at start). Default true.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_set_string (risk 2, mutates, UE 5.4+, smoke)​

Creates or updates a string key with its default value (5.4+).

ArgumentTypeDescription
defaultValuestringDefault value.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_set_vector (risk 2, mutates, UE 5.4+, smoke)​

Creates or updates a vector key with its default value (5.4+).

ArgumentTypeDescription
defaultValue{x,y,z}Default value {x,y,z}.
useDefaultbooleanUse defaultValue as the initial value (false leaves the key unset at start). Default true.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bb_validate (risk 0, smoke)​

Structural validation: parent cycles, null key types, duplicate and shadowed names, unfiltered object keys.

ArgumentTypeDescription
blackboardstringrequired. Blackboard asset path or unique name.

Returns: asset, parent, parentChain, keys, key, count, warnings, message.

ai.bt_add_blackboard_decorator (risk 2, mutates, smoke)​

Adds a Blackboard condition: key, query, value, observer mode, abort mode.

ArgumentTypeDescription
blackboardKeystringrequired. Key tested by the condition.
keyQuerystringisSet, isNotSet (bool/object/class/vector/rotator keys); equal, notEqual, less, lessOrEqual, greater, greaterOrEqual (int/float/enum); equal, notEqual, contains, notContains (string/name). Default TEXT("isSet").
valuestringCompared value for arithmetic and text queries.
notifyObserverstringWhen observers re-evaluate: resultChange or valueChange. Default TEXT("resultChange").

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_add_composite (risk 2, mutates, smoke)​

Adds a composite (selector, sequence, simpleParallel or a composite class) under a parent at an index.

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
typestringrequired. selector, sequence, simpleParallel, or a UBTCompositeNode class path.
parentstringParent composite (see node reference forms); empty = root.
indexintegerChild index under the parent; -1 appends. Default -1.
namestringRuntime node name (unique in the tree).

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_add_cone_check_decorator (risk 2, mutates, smoke)​

Adds a Cone Check decorator (origin, direction, observed keys, half angle).

ArgumentTypeDescription
coneHalfAnglenumberHalf angle of the cone in degrees. Default 45.0f.
coneOriginstringrequired. Cone origin key (vector or object).
coneDirectionstringrequired. Cone direction key (vector, rotator or object).
observedstringrequired. Observed location key (vector or object).

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_add_cooldown_decorator (risk 2, mutates, smoke)​

Adds a Cooldown decorator.

ArgumentTypeDescription
cooldownTimenumberCooldown in seconds. Default 5.0f.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_add_default_focus_service (risk 2, mutates, smoke)​

Adds the Default Focus service (focus key, interval).

ArgumentTypeDescription
blackboardKeystringrequired. Focus key (object or vector).

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_add_finish_with_result (risk 2, mutates, smoke)​

Adds Finish With Result.

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
parentstringParent composite (ID, root path or name); empty = root composite.
indexintegerChild index under the parent; -1 appends. Default -1.
namestringRuntime node name (unique in the tree); empty generates one.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_add_is_at_location_decorator (risk 2, mutates, smoke)​

Adds an Is At Location decorator (key, radius, inverse).

ArgumentTypeDescription
blackboardKeystringrequired. Location key (vector or object).
acceptableRadiusnumberAcceptable radius in cm. Default 50.0f.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_add_loop_decorator (risk 2, mutates, smoke)​

Adds a Loop decorator (count or infinite with timeout).

ArgumentTypeDescription
numLoopsintegerNumber of loops (1..255). Default 3.
infinitebooleanLoop forever. Default false.
infiniteLoopTimeoutnumberTimeout of an infinite loop in seconds; negative = none. Default -1.0f.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_add_make_noise (risk 2, mutates, smoke)​

Adds Make Noise.

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
parentstringParent composite (ID, root path or name); empty = root composite.
indexintegerChild index under the parent; -1 appends. Default -1.
namestringRuntime node name (unique in the tree); empty generates one.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_add_move_to (risk 2, mutates, smoke)​

Adds Move To: goal key, acceptable radius, strafe/partial path/tracking/observe options.

ArgumentTypeDescription
blackboardKeystringrequired. Goal key (vector or object key of the tree's blackboard).
acceptableRadiusnumberAcceptable radius in cm. Default 5.0f.
allowStrafebooleanAllow strafing. Default false.
allowPartialPathbooleanAccept a partial path when the goal is unreachable. Default true.
trackMovingGoalbooleanKeep following a moving goal actor. Default true.
observeBlackboardValuebooleanRestart the move when the goal key value changes. Default false.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_add_play_animation (risk 2, mutates, smoke)​

Adds Play Animation: animation asset, looping, non-blocking.

ArgumentTypeDescription
animationstringAnimation asset path; empty leaves it unset.
loopingbooleanLoop the animation. Default false.
nonBlockingbooleanFinish the task immediately instead of waiting for the animation. Default false.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_add_play_sound (risk 2, mutates, smoke)​

Adds Play Sound: sound cue asset.

ArgumentTypeDescription
soundstringSound cue asset path; empty leaves it unset.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_add_rotate_to_face (risk 2, mutates, smoke)​

Adds Rotate To Face BB Entry: key and precision.

ArgumentTypeDescription
blackboardKeystringrequired. Key to face (vector, rotator or object key).
precisionnumberSuccess angle precision in degrees. Default 10.0f.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_add_run_behavior (risk 2, mutates, smoke)​

Adds Run Behavior with a sub-tree asset.

ArgumentTypeDescription
subtreestringrequired. Sub-tree behavior tree asset (must differ from the edited tree).

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_add_run_behavior_dynamic (risk 2, mutates, smoke)​

Adds Run Behavior Dynamic (sub-tree injected at runtime by gameplay tag).

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
parentstringParent composite (ID, root path or name); empty = root composite.
indexintegerChild index under the parent; -1 appends. Default -1.
namestringRuntime node name (unique in the tree); empty generates one.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_add_run_eqs (risk 2, mutates, smoke)​

Adds Run EQS Query: query, run mode and result key.

ArgumentTypeDescription
querystringEQS query asset; empty leaves the query unset.
blackboardKeystringrequired. Result key (vector or object key).
runModestringsingleResult, randomBest5Pct, randomBest25Pct or allMatching. Default TEXT("singleResult").

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_add_run_eqs_service (risk 2, mutates, smoke)​

Adds the Run EQS service (query, run mode, result key, interval).

ArgumentTypeDescription
querystringEQS query asset; empty leaves the query unset.
blackboardKeystringrequired. Result key (vector or object key).
runModestringsingleResult, randomBest5Pct, randomBest25Pct or allMatching. Default TEXT("singleResult").

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_add_runtime_decorator (risk 2, mutates, smoke)​

Adds a decorator of any class to a child (node) at index.

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
parentstringParent composite for add or move operations; empty addresses the root composite.
nodestringExisting node (ID, root path or name) for get, remove, move, duplicate, or property operations.
classstringNative or Blueprint BT node class for generic add operations.
namestringName for a new or renamed node (unique in the tree).
propertystringReflected property name.
valuestringText-export value for a reflected property.
indexintegerChild (or decorator/service) position; -1 appends. Default -1.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_add_runtime_service (risk 2, mutates, smoke)​

Adds a service of any class to a composite (parent) at index.

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
parentstringParent composite for add or move operations; empty addresses the root composite.
nodestringExisting node (ID, root path or name) for get, remove, move, duplicate, or property operations.
classstringNative or Blueprint BT node class for generic add operations.
namestringName for a new or renamed node (unique in the tree).
propertystringReflected property name.
valuestringText-export value for a reflected property.
indexintegerChild (or decorator/service) position; -1 appends. Default -1.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_add_runtime_task (risk 2, mutates, smoke)​

Adds a task of any native or Blueprint BTTask class.

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
parentstringParent composite for add or move operations; empty addresses the root composite.
nodestringExisting node (ID, root path or name) for get, remove, move, duplicate, or property operations.
classstringNative or Blueprint BT node class for generic add operations.
namestringName for a new or renamed node (unique in the tree).
propertystringReflected property name.
valuestringText-export value for a reflected property.
indexintegerChild (or decorator/service) position; -1 appends. Default -1.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_add_time_limit_decorator (risk 2, mutates, smoke)​

Adds a Time Limit decorator.

ArgumentTypeDescription
timeLimitnumberTime limit in seconds. Default 5.0f.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_add_wait (risk 2, mutates, smoke)​

Adds a Wait task.

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
parentstringParent composite; empty = root.
indexintegerChild index under the parent; -1 appends. Default -1.
secondsnumberWait time in seconds. Default 1.0f.
randomDeviationnumberRandom deviation in seconds. Default 0.0f.
namestringRuntime node name.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_arrange (risk 2, mutates, UE 5.3+, smoke)​

Lays out the editor graph as a tidy tree (5.3+; older engines regenerate the graph layout when the asset is opened).

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
horizontalSpacingintegerHorizontal distance between leaf columns. Default 320.
verticalSpacingintegerVertical distance between tree levels. Default 220.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_chase_attack_recipe (risk 2, mutates, smoke)​

Chase/attack branch: Sequence [Blackboard targetKey is set, abort] { Move To target within range, Rotate To Face, attack task }.

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
parentstringParent composite; empty = root composite.
indexintegerChild index; -1 appends (put it before patrol branches under a selector). Default -1.
prefixstringName prefix of the created nodes. Default TEXT("Chase").
targetKeystringrequired. Target actor key (object key).
attackRangenumberDistance at which the attack starts, in cm. Default 150.0f.
attackTaskstringAttack task class; empty uses a Wait of attackSeconds as a placeholder.
attackSecondsnumberPlaceholder attack duration in seconds. Default 1.0f.
abortModestringAbort mode of the target condition (both lets the branch preempt lower-priority branches). Default TEXT("both").

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_create (risk 2, mutates, smoke)​

Creates a Behavior Tree with a root selector (optional blackboard).

ArgumentTypeDescription
folderstringrequired. Content folder under /Game.
namestringrequired. Bare asset name.
blackboardstringOptional blackboard asset.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_duplicate_node (risk 2, mutates, smoke)​

Deep-copies a child subtree (with decorators and services), a decorator or a service to a parent at an index.

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
parentstringParent composite for add or move operations; empty addresses the root composite.
nodestringExisting node (ID, root path or name) for get, remove, move, duplicate, or property operations.
classstringNative or Blueprint BT node class for generic add operations.
namestringName for a new or renamed node (unique in the tree).
propertystringReflected property name.
valuestringText-export value for a reflected property.
indexintegerChild (or decorator/service) position; -1 appends. Default -1.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_export (risk 0, smoke)​

Exports the tree as portable nodes (class, parent, edited properties, decorator logic).

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.

Returns: asset, blackboard, nodes, count, notes, message.

ai.bt_find_runtime_node (risk 0, smoke)​

Finds one node by ID, root path or name.

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
parentstringParent composite for add or move operations; empty addresses the root composite.
nodestringExisting node (ID, root path or name) for get, remove, move, duplicate, or property operations.
classstringNative or Blueprint BT node class for generic add operations.
namestringName for a new or renamed node (unique in the tree).
propertystringReflected property name.
valuestringText-export value for a reflected property.
indexintegerChild (or decorator/service) position; -1 appends. Default -1.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_get (risk 0, smoke)​

Returns the asset and its blackboard.

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.

Returns: asset, blackboard, message.

ai.bt_get_node (risk 0, smoke)​

One node by ID, root path or name.

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
nodestringrequired. Node reference (ID, root path or name).

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_get_runtime_hierarchy (risk 0, smoke)​

Regenerated runtime hierarchy.

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
parentstringParent composite for add or move operations; empty addresses the root composite.
nodestringExisting node (ID, root path or name) for get, remove, move, duplicate, or property operations.
classstringNative or Blueprint BT node class for generic add operations.
namestringName for a new or renamed node (unique in the tree).
propertystringReflected property name.
valuestringText-export value for a reflected property.
indexintegerChild (or decorator/service) position; -1 appends. Default -1.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_get_runtime_property (risk 0, smoke)​

Reads a reflected node property as text (returned in node).

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
parentstringParent composite for add or move operations; empty addresses the root composite.
nodestringExisting node (ID, root path or name) for get, remove, move, duplicate, or property operations.
classstringNative or Blueprint BT node class for generic add operations.
namestringName for a new or renamed node (unique in the tree).
propertystringReflected property name.
valuestringText-export value for a reflected property.
indexintegerChild (or decorator/service) position; -1 appends. Default -1.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_get_tree (risk 0, smoke)​

Hierarchy with node IDs, paths, keys, decorator logic and abort modes.

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_import (risk 3, mutates, destructive, smoke)​

Replaces the runtime tree with exported nodes (validated before anything changes).

ArgumentTypeDescription
behaviorTreestringrequired. Target Behavior Tree asset (its runtime tree is replaced).
nodesarray of UeaAiBtSpecNoderequired. Nodes as returned by ai.bt_export.
blackboardstringOptional blackboard to assign before key selectors are resolved.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_investigate_recipe (risk 2, mutates, smoke)​

Investigate branch: Sequence [conditionKey is set] { Move To locationKey, Wait lookSeconds }.

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
parentstringParent composite; empty = root composite.
indexintegerChild index; -1 appends. Default -1.
prefixstringName prefix of the created nodes. Default TEXT("Investigate").
locationKeystringrequired. Location to investigate (vector or object key).
conditionKeystringOptional bool key that must be set (e.g. IsAlert).
acceptableRadiusnumberAcceptable radius of the move in cm. Default 100.0f.
lookSecondsnumberTime spent looking around in seconds. Default 3.0f.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_list (risk 0, smoke)​

Lists Behavior Tree assets under /Game (the behaviorTree argument is validated but not used as a filter).

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.

Returns: nodes, count, message.

ai.bt_list_nodes (risk 0, smoke)​

Flat node list (same content as bt_get_tree, nodes only).

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_move_node (risk 2, mutates, smoke)​

Moves a child under another composite, a decorator to another child, or a service to another composite, at an explicit index.

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
parentstringParent composite for add or move operations; empty addresses the root composite.
nodestringExisting node (ID, root path or name) for get, remove, move, duplicate, or property operations.
classstringNative or Blueprint BT node class for generic add operations.
namestringName for a new or renamed node (unique in the tree).
propertystringReflected property name.
valuestringText-export value for a reflected property.
indexintegerChild (or decorator/service) position; -1 appends. Default -1.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_patrol_recipe (risk 2, mutates, smoke)​

Patrol branch: Sequence { Move To locationKey, Wait }.

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
parentstringParent composite; empty = root composite.
indexintegerChild index; -1 appends. Default -1.
prefixstringName prefix of the created nodes. Default TEXT("Patrol").
locationKeystringrequired. Patrol location key (vector or object).
acceptableRadiusnumberAcceptable radius of the move in cm. Default 50.0f.
waitSecondsnumberWait at the point in seconds. Default 2.0f.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_remove_node (risk 3, mutates, destructive, smoke)​

Removes a node (child subtree, decorator or service). Decorator logic of the affected child is cleared.

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
parentstringParent composite for add or move operations; empty addresses the root composite.
nodestringExisting node (ID, root path or name) for get, remove, move, duplicate, or property operations.
classstringNative or Blueprint BT node class for generic add operations.
namestringName for a new or renamed node (unique in the tree).
propertystringReflected property name.
valuestringText-export value for a reflected property.
indexintegerChild (or decorator/service) position; -1 appends. Default -1.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_set_abort (risk 2, mutates, smoke)​

Sets a decorator's flow abort mode; rejects modes the parent composite cannot perform.

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
nodestringrequired. Decorator (ID, root path or name).
abortModestringrequired. none, self, lowerPriority or both (the parent composite decides which are valid).

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_set_blackboard (risk 2, mutates, smoke)​

Assigns the blackboard; key selectors are re-resolved against it.

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
blackboardstringrequired. Blackboard asset path or unique name.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_set_blackboard_selector (risk 2, mutates, smoke)​

Points a key selector property of a node at a blackboard key (validated against the selector's allowed key types).

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
nodestringrequired. Node (ID, root path or name).
propertystringrequired. Key selector property (e.g. BlackboardKey, ConeOrigin, EQSRequest.EQSQueryBlackboardKey).
keystringrequired. Key name from the tree's blackboard chain; "None" clears selectors that allow it.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_set_decorator_logic (risk 2, mutates, smoke)​

Sets the decorator logic of a child from an and/or/not expression over its decorators.

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
nodestringrequired. Decorated child (ID, root path or name).
expressionstringExpression over the child's decorator names: and(...), or(...), not(x); every decorator exactly once. Empty = all must pass.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_set_node_property (risk 2, mutates, smoke)​

Sets a reflected node property from text.

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
nodestringrequired. Node reference (ID, root path or name).
propertystringrequired. Reflected property name (dotted paths enter structs).
valuestringrequired. Value in Unreal text-export form.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_set_root (risk 3, mutates, destructive, smoke)​

Promotes a composite to root; nodes outside its subtree are discarded (listed in notes).

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
parentstringParent composite for add or move operations; empty addresses the root composite.
nodestringExisting node (ID, root path or name) for get, remove, move, duplicate, or property operations.
classstringNative or Blueprint BT node class for generic add operations.
namestringName for a new or renamed node (unique in the tree).
propertystringReflected property name.
valuestringText-export value for a reflected property.
indexintegerChild (or decorator/service) position; -1 appends. Default -1.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_set_runtime_node_name (risk 2, mutates, smoke)​

Renames a node object (its ID changes with the name).

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
parentstringParent composite for add or move operations; empty addresses the root composite.
nodestringExisting node (ID, root path or name) for get, remove, move, duplicate, or property operations.
classstringNative or Blueprint BT node class for generic add operations.
namestringName for a new or renamed node (unique in the tree).
propertystringReflected property name.
valuestringText-export value for a reflected property.
indexintegerChild (or decorator/service) position; -1 appends. Default -1.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_set_runtime_property (risk 2, mutates, smoke)​

Sets a reflected node property from text (property + value).

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
parentstringParent composite for add or move operations; empty addresses the root composite.
nodestringExisting node (ID, root path or name) for get, remove, move, duplicate, or property operations.
classstringNative or Blueprint BT node class for generic add operations.
namestringName for a new or renamed node (unique in the tree).
propertystringReflected property name.
valuestringText-export value for a reflected property.
indexintegerChild (or decorator/service) position; -1 appends. Default -1.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.bt_validate_runtime_hierarchy (risk 0, smoke)​

Validates root, empty composites, parallel layout, key selectors against the blackboard, decorator logic and abort modes.

ArgumentTypeDescription
behaviorTreestringrequired. Behavior Tree asset path or unique name.
parentstringParent composite for add or move operations; empty addresses the root composite.
nodestringExisting node (ID, root path or name) for get, remove, move, duplicate, or property operations.
classstringNative or Blueprint BT node class for generic add operations.
namestringName for a new or renamed node (unique in the tree).
propertystringReflected property name.
valuestringText-export value for a reflected property.
indexintegerChild (or decorator/service) position; -1 appends. Default -1.

Returns: asset, blackboard, tree, nodes, node, nodeId, created, graphSync, notes, message.

ai.clear_blackboard_value (risk 2, mutates, requires PIE, smoke)​

Clears a Blackboard value.

ArgumentTypeDescription
controllerstringrequired. AI controller label, name, or class: in the PIE world.
keystringrequired. Blackboard key name.
typestringrequired. bool, int, float, string, name, vector, rotator, enum, object or class.
valuestringText value for bool/int/float/string/name/enum (enum takes the numeric value), actor label for object, class path for class.
vector{x,y,z}Vector value (vector) or pitch/yaw/roll (rotator).

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.clear_focus (risk 2, mutates, requires PIE, smoke)​

Clears the focus at priority.

ArgumentTypeDescription
controllerstringrequired. AI controller actor path, label, or unique name.
targetstringPawn, target actor, or behavior tree reference as required by the action.
location{x,y,z}World-space destination for movement.
acceptanceRadiusnumberAcceptance radius in centimeters; negative uses the engine default. Default -1.f.
keystringBlackboard key for the typed value action.
typestringbool, int, float, string, name, vector, rotator, object, class, or enum.
valuestringText value for scalar and name types.
prioritystringFocus priority for focus tools: Default, Move or Gameplay. Default TEXT("Gameplay").

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.create_test_setup (risk 2, mutates, smoke)​

Creates (or reuses) the shared fixtures in folder: BB_AiSmoke (TargetActor object, PatrolIndex int, HomeLocation vector, IsAlert bool), BT_AiSmoke (RootSelector, linked to BB_AiSmoke) and EQ_AiSmoke (grid around the querier scored by distance).

ArgumentTypeDescription
folderstringrequired. Content folder under /Game for the Blackboard and runtime Behavior Tree fixtures.

Returns: assets, count, warnings, message.

ai.despawn_ai (risk 1, mutates, destructive, requires PIE, smoke)​

Destroys an AI controller and its pawn.

ArgumentTypeDescription
controllerstringrequired. AI controller label, name, or class: in the PIE world.

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.eqs_add_option (risk 2, mutates, smoke)​

Adds an option with a new generator of class; index inserts (-1 appends). Returns the new option index.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
classstringGenerator, test, or context class path.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index within option. Default 0.
indexintegerDestination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1.
propertystringReflected property name on the option generator or test.
valuestringText-export value for a reflected property.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_add_test (risk 2, mutates, smoke)​

Adds a test of class to an option; index inserts (-1 appends). Returns the new test index.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
classstringGenerator, test, or context class path.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index within option. Default 0.
indexintegerDestination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1.
propertystringReflected property name on the option generator or test.
valuestringText-export value for a reflected property.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_audit (risk 0, smoke)​

Audits every query in a folder (no options, option without generator or tests, context-less tests, zero scoring factors).

ArgumentTypeDescription
folderstringContent folder to audit. Default TEXT("/Game").
recursivebooleanInclude subfolders. Default true.

Returns: queries, count, withIssues, message.

ai.eqs_audit_options (risk 0, smoke)​

Reports options without a generator and options without tests.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
classstringGenerator, test, or context class path.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index within option. Default 0.
indexintegerDestination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1.
propertystringReflected property name on the option generator or test.
valuestringText-export value for a reflected property.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_clear_tests (risk 3, mutates, destructive, smoke)​

Removes every test of an option.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
classstringGenerator, test, or context class path.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index within option. Default 0.
indexintegerDestination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1.
propertystringReflected property name on the option generator or test.
valuestringText-export value for a reflected property.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_configure_actors_of_class (risk 2, mutates, smoke)​

Configures an Actors Of Class generator.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
optionintegerZero-based option index; its generator must be ActorsOfClass. Default 0.
searchedActorClassstringrequired. Actor class to collect (path or unique name).
searchRadiusnumberSearch radius in cm (> 0). Default 2000.f.
onlyInRadiusbooleanOnly generate actors inside the radius. Default true.
searchCenterstringContext at the search centre; empty keeps the current one.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_configure_circle (risk 2, mutates, smoke)​

Configures a Points: Circle generator (radius, spacing by distance or count, centre, arc).

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
optionintegerZero-based option index; its generator must be OnCircle. Default 0.
radiusnumberCircle radius in cm (> 0). Default 500.f.
numberOfPointsintegerWhen > 0 the points are spaced by count (ByNumberOfPoints); otherwise by spaceBetween. Default 0.
spaceBetweennumberDistance between points in cm when numberOfPoints is 0 (> 0). Default 100.f.
circleCenterstringContext at the circle centre; empty keeps the current one.
arcAnglenumberArc angle in degrees; 0 or 360 generates the full circle. Default 360.f.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_configure_cone (risk 2, mutates, smoke)​

Configures a Points: Cone generator.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
optionintegerZero-based option index; its generator must be Cone. Default 0.
coneDegreesnumberCone angle in degrees (0..359). Default 90.f.
rangenumberCone length in cm (> 0). Default 1000.f.
angleStepnumberAngle between generated lines in degrees (> 0). Default 10.f.
alignedPointsDistancenumberDistance between points on each line in cm (> 0). Default 100.f.
centerActorstringContext at the cone apex; empty keeps the current one.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_configure_current_location (risk 2, mutates, smoke)​

Configures a Current Location generator (the context whose location becomes the item).

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
optionintegerZero-based option index; its generator must be CurrentLocation. Default 0.
queryContextstringrequired. Context whose location(s) become the items.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_configure_distance_test (risk 2, mutates, smoke)​

Configures a Distance test (mode and context).

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index; the test must be EnvQueryTest_Distance. Default 0.
testModestringDistance3D, Distance2D, DistanceZ or DistanceAbsoluteZ. Default TEXT("Distance3D").
distanceTostringContext measured to; empty keeps the current one.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_configure_donut (risk 2, mutates, smoke)​

Configures a Points: Donut generator.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
optionintegerZero-based option index; its generator must be Donut. Default 0.
innerRadiusnumberInner radius in cm (>= 0). Default 300.f.
outerRadiusnumberOuter radius in cm (> innerRadius). Default 1000.f.
numberOfRingsintegerNumber of rings (>= 1). Default 3.
pointsPerRingintegerPoints per ring (>= 1). Default 8.
centerstringContext at the donut centre; empty keeps the current one.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_configure_dot_test (risk 2, mutates, smoke)​

Configures a Dot test (two directions from contexts, 3D or 2D, absolute value).

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index; the test must be EnvQueryTest_Dot. Default 0.
lineAFromstringLine A start context; empty keeps.
lineATostringLine A end context; empty keeps.
lineBFromstringLine B start context; empty keeps.
lineBTostringLine B end context; empty keeps.
testModestringDot3D or Dot2D. Default TEXT("Dot3D").
absoluteValuebooleanUse the absolute value of the dot product. Default false.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_configure_grid (risk 2, mutates, smoke)​

Configures a Points: Grid generator (SimpleGrid or PathingGrid).

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
optionintegerZero-based option index; its generator must be a SimpleGrid (or subclass). Default 0.
gridSizenumberHalf extent of the square grid in cm (> 0). Default 1000.f.
spaceBetweennumberDistance between grid points in cm (> 0). Default 100.f.
generateAroundstringContext the grid is centred on; empty keeps the current one.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_configure_overlap_test (risk 2, mutates, smoke)​

Configures an Overlap test (shape, extent, channel, expected overlap).

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index; the test must be EnvQueryTest_Overlap. Default 0.
shapestringBox, Sphere or Capsule. Default TEXT("Sphere").
extent{x,y,z}Shape extent in cm (sphere uses x as radius; capsule uses x radius, z half height). Default FUeaVec3(50.0, 50.0, 50.0).
channelstringCollision channel (ECC_WorldStatic, ECC_WorldDynamic, ECC_Pawn, ECC_Visibility...); empty keeps the current channel.
onlyBlockingHitsbooleanCount blocking hits only. Default true.
overlapComplexbooleanOverlap complex collision. Default false.
skipOverlapQuerierbooleanIgnore the querier in the overlap. Default true.
expectOverlapbooleanExpected overlap result for the Match filter (false keeps free points). Default false.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_configure_pathfinding_test (risk 2, mutates, smoke)​

Configures a Pathfinding test (PathExist/PathCost/PathLength, context, direction).

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index; the test must be EnvQueryTest_Pathfinding. Default 0.
testModestringPathExist, PathCost or PathLength. Default TEXT("PathExist").
contextstringContext the path goes to or from; empty keeps the current one.
pathFromContextbooleanPath from the context to the item (false: item to context). Default true.
skipUnreachablebooleanDiscard unreachable items for PathCost/PathLength. Default true.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_configure_pathing_grid (risk 2, mutates, smoke)​

Configures the pathing part of a Points: Pathing Grid generator (grid size via ai.eqs_configure_grid).

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
optionintegerZero-based option index; its generator must be PathingGrid. Default 0.
pathToItembooleantrue: path from context to items; false: from items to context. Default true.
scanRangeMultipliernumberMultiplier of the navigation scan range (> 0). Default 1.5f.
navigationFilterstringUNavigationQueryFilter subclass; empty keeps the current filter.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_configure_project_test (risk 2, mutates, smoke)​

Configures a Project test (navmesh/geometry projection that items must pass).

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index; the test must be EnvQueryTest_Project. Default 0.
traceModestringrequired. EEnvQueryTrace value (None, Navigation, NavigationOverLedges, Geometry on 4.27, GeometryByChannel/GeometryByProfile on 5.x).
projectDownnumberDownward projection distance in cm. Default 1024.f.
projectUpnumberUpward projection distance in cm. Default 1024.f.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_configure_trace_test (risk 2, mutates, smoke)​

Configures a Trace test (context, direction, offsets, shape, expected hit).

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index; the test must be EnvQueryTest_Trace. Default 0.
contextstringContext traced to or from; empty keeps the current one.
traceFromContextbooleanTrace from the context towards the item (false: from the item). Default true.
itemHeightOffsetnumberItem height offset in cm. Default 0.f.
contextHeightOffsetnumberContext height offset in cm. Default 0.f.
traceShapestringLine, Box, Sphere or Capsule. Default TEXT("Line").
expectHitbooleanExpected trace hit (true: item hidden from context, i.e. cover). Applied as a Match filter. Default true.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_cover_recipe (risk 2, mutates, smoke)​

Recipe: cover points. Grid around the querier, Trace test that keeps points hidden from targetContext, Distance test that prefers points near the querier.

ArgumentTypeDescription
querystringrequired. New /Game package path of the query (must not exist).
radiusnumberGrid half extent (cover, nearest reachable) or circle radius (points around target) in cm. Default 1000.f.
spaceBetweennumberPoint spacing in cm (grid recipes). Default 150.f.
numberOfPointsintegerNumber of points on the circle (points around target). Default 12.
targetContextstringContext to hide from (cover) or to surround (points around target); empty uses EnvQueryContext_Querier.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_create (risk 2, mutates, smoke)​

Creates an empty EQS query asset at a /Game package path.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
classstringGenerator, test, or context class path.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index within option. Default 0.
indexintegerDestination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1.
propertystringReflected property name on the option generator or test.
valuestringText-export value for a reflected property.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_create_context_blueprint (risk 2, mutates, smoke)​

Creates a Blueprint EQS context (parent EnvQueryContext_BlueprintBase); override ProvideSingleActor/Location in the bp kit.

ArgumentTypeDescription
folderstringrequired. Content folder under /Game.
namestringrequired. Blueprint asset name.

Returns: blueprint, generatedClass, parentClass, message.

ai.eqs_create_generator_blueprint (risk 2, mutates, smoke)​

Creates a Blueprint EQS generator (parent EnvQueryGenerator_BlueprintBase); implement DoItemGeneration in the bp kit.

ArgumentTypeDescription
folderstringrequired. Content folder under /Game.
namestringrequired. Blueprint asset name.

Returns: blueprint, generatedClass, parentClass, message.

ai.eqs_delete (risk 3, mutates, destructive, smoke)​

Deletes the query asset.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
classstringGenerator, test, or context class path.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index within option. Default 0.
indexintegerDestination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1.
propertystringReflected property name on the option generator or test.
valuestringText-export value for a reflected property.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_duplicate (risk 2, mutates, smoke)​

Duplicates a query asset to newPath.

ArgumentTypeDescription
querystringrequired. Source EQS query asset path or unique name.
newPathstringrequired. Destination /Game package path of the copy (must not exist).

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_duplicate_option (risk 2, mutates, smoke)​

Duplicates an option (generator and tests) inside the same query.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
optionintegerZero-based option index to copy. Default 0.
indexintegerInsert position of the copy; -1 appends. Default -1.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_export (risk 0, smoke)​

Exports a query as generator/test classes plus their non-default properties (re-importable with ai.eqs_import).

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.

Returns: asset, options, message.

ai.eqs_export_runtime_schema (risk 0, smoke)​

Returns the runtime structure (options, generators, tests, contexts) of a query.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
classstringGenerator, test, or context class path.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index within option. Default 0.
indexintegerDestination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1.
propertystringReflected property name on the option generator or test.
valuestringText-export value for a reflected property.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_get (risk 0, smoke)​

Returns a query with its full option/generator/test structure.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.

Returns: asset, name, optionCount, stripFromClientBuilds, options, structure, issues, message.

ai.eqs_get_generator (risk 0, smoke)​

Returns the generator of an option with its editable properties.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
classstringGenerator, test, or context class path.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index within option. Default 0.
indexintegerDestination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1.
propertystringReflected property name on the option generator or test.
valuestringText-export value for a reflected property.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_get_option_count (risk 0, smoke)​

Returns the number of options in count.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
classstringGenerator, test, or context class path.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index within option. Default 0.
indexintegerDestination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1.
propertystringReflected property name on the option generator or test.
valuestringText-export value for a reflected property.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_get_test (risk 0, smoke)​

Returns a test with its editable properties.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
classstringGenerator, test, or context class path.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index within option. Default 0.
indexintegerDestination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1.
propertystringReflected property name on the option generator or test.
valuestringText-export value for a reflected property.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_get_test_count (risk 0, smoke)​

Returns the number of tests of an option in count.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
classstringGenerator, test, or context class path.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index within option. Default 0.
indexintegerDestination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1.
propertystringReflected property name on the option generator or test.
valuestringText-export value for a reflected property.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_import (risk 2, mutates, smoke)​

Builds a query from the ai.eqs_export format (generator/test classes plus non-default properties).

ArgumentTypeDescription
querystringrequired. /Game package path of the query to build.
optionsarray of UeaAiEqsOptionSpecrequired. Options in execution order (the ai.eqs_export format).
replacebooleanWhen the query exists: true replaces all its options, false fails with E_CONFLICT. Default false.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_list (risk 0, smoke)​

Lists EQS query assets under a folder.

ArgumentTypeDescription
folderstringContent folder to search. Default TEXT("/Game").
recursivebooleanSearch subfolders. Default true.

Returns: queries, count, message.

ai.eqs_list_context_classes (risk 0, smoke)​

Lists concrete context classes (Querier, Item, loaded Blueprint contexts).

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_list_generator_classes (risk 0, smoke)​

Lists concrete generator classes (native and loaded Blueprint generators).

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_list_test_classes (risk 0, smoke)​

Lists concrete test classes.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_move_option (risk 2, mutates, smoke)​

Moves option option to position index (options run in order until one yields items).

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
classstringGenerator, test, or context class path.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index within option. Default 0.
indexintegerDestination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1.
propertystringReflected property name on the option generator or test.
valuestringText-export value for a reflected property.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_move_test (risk 2, mutates, smoke)​

Moves test test to position index inside its option.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
classstringGenerator, test, or context class path.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index within option. Default 0.
indexintegerDestination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1.
propertystringReflected property name on the option generator or test.
valuestringText-export value for a reflected property.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_nearest_reachable_recipe (risk 2, mutates, smoke)​

Recipe: nearest reachable point. Grid around the querier, Pathfinding PathExist filter, Distance test that prefers near points.

ArgumentTypeDescription
querystringrequired. New /Game package path of the query (must not exist).
radiusnumberGrid half extent (cover, nearest reachable) or circle radius (points around target) in cm. Default 1000.f.
spaceBetweennumberPoint spacing in cm (grid recipes). Default 150.f.
numberOfPointsintegerNumber of points on the circle (points around target). Default 12.
targetContextstringContext to hide from (cover) or to surround (points around target); empty uses EnvQueryContext_Querier.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_points_around_target_recipe (risk 2, mutates, smoke)​

Recipe: points around a target. Circle of numberOfPoints points of radius around targetContext, Distance test that prefers points near the querier.

ArgumentTypeDescription
querystringrequired. New /Game package path of the query (must not exist).
radiusnumberGrid half extent (cover, nearest reachable) or circle radius (points around target) in cm. Default 1000.f.
spaceBetweennumberPoint spacing in cm (grid recipes). Default 150.f.
numberOfPointsintegerNumber of points on the circle (points around target). Default 12.
targetContextstringContext to hide from (cover) or to surround (points around target); empty uses EnvQueryContext_Querier.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_remove_option (risk 3, mutates, destructive, smoke)​

Removes option option.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
classstringGenerator, test, or context class path.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index within option. Default 0.
indexintegerDestination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1.
propertystringReflected property name on the option generator or test.
valuestringText-export value for a reflected property.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_remove_test (risk 3, mutates, destructive, smoke)​

Removes test test from option option.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
classstringGenerator, test, or context class path.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index within option. Default 0.
indexintegerDestination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1.
propertystringReflected property name on the option generator or test.
valuestringText-export value for a reflected property.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_replace_generator (risk 2, mutates, smoke)​

Replaces the generator of an option with a new generator of class (tests are kept).

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
classstringGenerator, test, or context class path.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index within option. Default 0.
indexintegerDestination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1.
propertystringReflected property name on the option generator or test.
valuestringText-export value for a reflected property.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_run (risk 0, requires world, smoke)​

Runs a query synchronously in the editor world (PIE world while PIE runs) and returns scored items, best first.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
querierstringrequired. Querier actor (label, name, or class:); contexts such as EnvQueryContext_Querier resolve to it.
runModestringSingleResult, RandomBest5Pct, RandomBest25Pct or AllMatching. Default TEXT("AllMatching").
maxItemsintegerMaximum number of items in the reply (1..1000). Default 50.

Returns: asset, querier, world, status, optionIndex, itemType, totalItems, items, message.

ai.eqs_set_context (risk 2, mutates, smoke)​

Sets a context property (TSubclassOf) on the generator (test = -1) or on a test.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index; -1 targets the option's generator. Default -1.
propertystringrequired. Context property name or dotted path (GenerateAround, CircleCenter, DistanceTo, Context, LineA.LineFrom...).
contextstringrequired. UEnvQueryContext subclass (EnvQueryContext_Querier, EnvQueryContext_Item, a Blueprint context...).

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_set_generator (risk 2, mutates, smoke)​

Sets one reflected generator property from text (property may be a dotted path such as GridSize.DefaultValue).

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
classstringGenerator, test, or context class path.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index within option. Default 0.
indexintegerDestination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1.
propertystringReflected property name on the option generator or test.
valuestringText-export value for a reflected property.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_set_projection (risk 2, mutates, smoke)​

Sets the navmesh/geometry projection (ProjectionData) of a points generator.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
optionintegerZero-based option index; its generator must derive from EnvQueryGenerator_ProjectedPoints. Default 0.
traceModestringrequired. EEnvQueryTrace value: None, Navigation, NavigationOverLedges, and Geometry (4.27) or GeometryByChannel/GeometryByProfile (5.x).
projectDownnumberDownward projection distance in cm. Default 1024.f.
projectUpnumberUpward projection distance in cm. Default 1024.f.
postProjectionVerticalOffsetnumberVertical offset added after projection in cm. Default 0.f.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_set_strip_from_client_builds (risk 2, mutates, UE 5.8+, smoke)​

Sets bStripFromClientBuilds (server-only query). UE 5.8+.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
stripbooleanDo not cook the query into client builds (server-only AI). Default true.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_set_test (risk 2, mutates, smoke)​

Sets one reflected test property from text (dotted paths allowed, e.g. ScoringFactor.DefaultValue).

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
classstringGenerator, test, or context class path.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index within option. Default 0.
indexintegerDestination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1.
propertystringReflected property name on the option generator or test.
valuestringText-export value for a reflected property.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_set_test_filter (risk 2, mutates, smoke)​

Sets filter type and bounds (or the expected bool for Match) of a test.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index. Default 0.
filterTypestringrequired. Minimum, Maximum or Range for float tests; Match for bool tests.
minnumberLower bound (Minimum, Range). Default 0.f.
maxnumberUpper bound (Maximum, Range). Default 0.f.
matchbooleanExpected value for Match (bool tests such as Trace or Pathfinding PathExist). Default true.
purposestringFilter, Score or FilterAndScore; empty keeps the current purpose.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_set_test_scoring (risk 2, mutates, smoke)​

Sets purpose, scoring equation, factor and clamping of a test.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index. Default 0.
purposestringFilter, Score or FilterAndScore.
scoringEquationstringLinear, Square, InverseLinear, SquareRoot or Constant.
scoringFactornumberWeight (> 0); 0 keeps the current value. Default 0.f.
clampMinTypestringNone, SpecifiedValue or FilterThreshold; SpecifiedValue uses scoreClampMin.
clampMaxTypestringNone, SpecifiedValue or FilterThreshold; SpecifiedValue uses scoreClampMax.
scoreClampMinnumberLower clamp value when clampMinType is SpecifiedValue. Default 0.f.
scoreClampMaxnumberUpper clamp value when clampMaxType is SpecifiedValue. Default 0.f.
commentstringDesigner comment; empty keeps the current comment.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_validate (risk 0, smoke)​

Validates a query: options without generator, options without tests, tests without purpose-relevant settings. Issues are returned, never raised.

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.

Returns: asset, name, optionCount, stripFromClientBuilds, options, structure, issues, message.

ai.eqs_validate_option (risk 0, smoke)​

Validates one option (generator present, item type, tests).

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
classstringGenerator, test, or context class path.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index within option. Default 0.
indexintegerDestination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1.
propertystringReflected property name on the option generator or test.
valuestringText-export value for a reflected property.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.eqs_validate_test (risk 0, smoke)​

Validates one test (class, filter/score settings).

ArgumentTypeDescription
querystringrequired. EQS query asset path or unique name.
classstringGenerator, test, or context class path.
optionintegerZero-based option index. Default 0.
testintegerZero-based test index within option. Default 0.
indexintegerDestination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1.
propertystringReflected property name on the option generator or test.
valuestringText-export value for a reflected property.

Returns: asset, options, option, test, count, structure, properties, notes, message.

ai.get_blackboard (risk 0, requires PIE, smoke)​

Returns the Blackboard component asset of a controller.

ArgumentTypeDescription
controllerstringrequired. AI controller label, name, or class: in the PIE world.

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.get_blackboard_key_schema (risk 0, requires PIE, smoke)​

Returns the runtime Blackboard keys as name|type.

ArgumentTypeDescription
controllerstringrequired. AI controller actor path, label, or unique name.
targetstringPawn, target actor, or behavior tree reference as required by the action.
location{x,y,z}World-space destination for movement.
acceptanceRadiusnumberAcceptance radius in centimeters; negative uses the engine default. Default -1.f.
keystringBlackboard key for the typed value action.
typestringbool, int, float, string, name, vector, rotator, object, class, or enum.
valuestringText value for scalar and name types.
prioritystringFocus priority for focus tools: Default, Move or Gameplay. Default TEXT("Gameplay").

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.get_blackboard_values (risk 0, requires PIE, smoke)​

Every Blackboard key with its type and current value.

ArgumentTypeDescription
controllerstringrequired. AI controller label, name, or class: in the PIE world.

Returns: controller, blackboard, keys, count, message.

ai.get_brain_component (risk 0, requires PIE, smoke)​

Returns the brain component.

ArgumentTypeDescription
controllerstringrequired. AI controller actor path, label, or unique name.
targetstringPawn, target actor, or behavior tree reference as required by the action.
location{x,y,z}World-space destination for movement.
acceptanceRadiusnumberAcceptance radius in centimeters; negative uses the engine default. Default -1.f.
keystringBlackboard key for the typed value action.
typestringbool, int, float, string, name, vector, rotator, object, class, or enum.
valuestringText value for scalar and name types.
prioritystringFocus priority for focus tools: Default, Move or Gameplay. Default TEXT("Gameplay").

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.get_controlled_pawn (risk 0, requires PIE, smoke)​

Returns the possessed pawn.

ArgumentTypeDescription
controllerstringrequired. AI controller actor path, label, or unique name.
targetstringPawn, target actor, or behavior tree reference as required by the action.
location{x,y,z}World-space destination for movement.
acceptanceRadiusnumberAcceptance radius in centimeters; negative uses the engine default. Default -1.f.
keystringBlackboard key for the typed value action.
typestringbool, int, float, string, name, vector, rotator, object, class, or enum.
valuestringText value for scalar and name types.
prioritystringFocus priority for focus tools: Default, Move or Gameplay. Default TEXT("Gameplay").

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.get_controller (risk 0, requires PIE, smoke)​

Typed snapshot of one controller (pawn, brain, tree, active node, blackboard, move status, focus, perception).

ArgumentTypeDescription
controllerstringrequired. AI controller label, name, or class: in the PIE world.

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.get_controller_location (risk 0, requires PIE, smoke)​

Returns the pawn location.

ArgumentTypeDescription
controllerstringrequired. AI controller actor path, label, or unique name.
targetstringPawn, target actor, or behavior tree reference as required by the action.
location{x,y,z}World-space destination for movement.
acceptanceRadiusnumberAcceptance radius in centimeters; negative uses the engine default. Default -1.f.
keystringBlackboard key for the typed value action.
typestringbool, int, float, string, name, vector, rotator, object, class, or enum.
valuestringText value for scalar and name types.
prioritystringFocus priority for focus tools: Default, Move or Gameplay. Default TEXT("Gameplay").

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.get_current_move_request (risk 0, requires PIE, smoke)​

Returns the current move request id.

ArgumentTypeDescription
controllerstringrequired. AI controller actor path, label, or unique name.
targetstringPawn, target actor, or behavior tree reference as required by the action.
location{x,y,z}World-space destination for movement.
acceptanceRadiusnumberAcceptance radius in centimeters; negative uses the engine default. Default -1.f.
keystringBlackboard key for the typed value action.
typestringbool, int, float, string, name, vector, rotator, object, class, or enum.
valuestringText value for scalar and name types.
prioritystringFocus priority for focus tools: Default, Move or Gameplay. Default TEXT("Gameplay").

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.get_focal_point (risk 0, requires PIE, smoke)​

Returns the current focal point.

ArgumentTypeDescription
controllerstringrequired. AI controller actor path, label, or unique name.
targetstringPawn, target actor, or behavior tree reference as required by the action.
location{x,y,z}World-space destination for movement.
acceptanceRadiusnumberAcceptance radius in centimeters; negative uses the engine default. Default -1.f.
keystringBlackboard key for the typed value action.
typestringbool, int, float, string, name, vector, rotator, object, class, or enum.
valuestringText value for scalar and name types.
prioritystringFocus priority for focus tools: Default, Move or Gameplay. Default TEXT("Gameplay").

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.get_focus (risk 0, requires PIE, smoke)​

Returns the focus actor (or focal point) at priority.

ArgumentTypeDescription
controllerstringrequired. AI controller actor path, label, or unique name.
targetstringPawn, target actor, or behavior tree reference as required by the action.
location{x,y,z}World-space destination for movement.
acceptanceRadiusnumberAcceptance radius in centimeters; negative uses the engine default. Default -1.f.
keystringBlackboard key for the typed value action.
typestringbool, int, float, string, name, vector, rotator, object, class, or enum.
valuestringText value for scalar and name types.
prioritystringFocus priority for focus tools: Default, Move or Gameplay. Default TEXT("Gameplay").

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.get_move_status (risk 0, requires PIE, smoke)​

Returns the path following status (Idle, Waiting, Paused, Moving).

ArgumentTypeDescription
controllerstringrequired. AI controller actor path, label, or unique name.
targetstringPawn, target actor, or behavior tree reference as required by the action.
location{x,y,z}World-space destination for movement.
acceptanceRadiusnumberAcceptance radius in centimeters; negative uses the engine default. Default -1.f.
keystringBlackboard key for the typed value action.
typestringbool, int, float, string, name, vector, rotator, object, class, or enum.
valuestringText value for scalar and name types.
prioritystringFocus priority for focus tools: Default, Move or Gameplay. Default TEXT("Gameplay").

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.get_path_following_component (risk 0, requires PIE, smoke)​

Returns the path following component.

ArgumentTypeDescription
controllerstringrequired. AI controller actor path, label, or unique name.
targetstringPawn, target actor, or behavior tree reference as required by the action.
location{x,y,z}World-space destination for movement.
acceptanceRadiusnumberAcceptance radius in centimeters; negative uses the engine default. Default -1.f.
keystringBlackboard key for the typed value action.
typestringbool, int, float, string, name, vector, rotator, object, class, or enum.
valuestringText value for scalar and name types.
prioritystringFocus priority for focus tools: Default, Move or Gameplay. Default TEXT("Gameplay").

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.get_pawn_ai_settings (risk 0, requires world, smoke)​

Returns AIControllerClass and AutoPossessAI of a level pawn.

ArgumentTypeDescription
actorstringrequired. Actor label, name, or class: in the editor world (PIE world while PIE runs).

Returns: actor, actorLabel, controllerClass, autoPossessAi, message.

ai.get_team_attitude (risk 0, requires PIE, smoke)​

Attitude of actor towards target (Friendly, Neutral, Hostile) as the perception system sees it.

ArgumentTypeDescription
actorstringrequired. Observer actor (usually an AI controller) in PIE.
targetstringrequired. Observed actor in PIE.

Returns: actor, teamId, target, targetTeamId, attitude, message.

ai.get_tree_state (risk 0, requires PIE, smoke)​

Returns the brain state (running, paused, current/root tree, active node).

ArgumentTypeDescription
controllerstringrequired. AI controller actor path, label, or unique name.
targetstringPawn, target actor, or behavior tree reference as required by the action.
location{x,y,z}World-space destination for movement.
acceptanceRadiusnumberAcceptance radius in centimeters; negative uses the engine default. Default -1.f.
keystringBlackboard key for the typed value action.
typestringbool, int, float, string, name, vector, rotator, object, class, or enum.
valuestringText value for scalar and name types.
prioritystringFocus priority for focus tools: Default, Move or Gameplay. Default TEXT("Gameplay").

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.list_ai_controller_classes (risk 0, smoke)​

No description.

ArgumentTypeDescription
folderstringContent folder to search. Default TEXT("/Game").
recursivebooleanSearch subfolders. Default true.

Returns: assets, count, warnings, message.

ai.list_ai_controllers (risk 0, requires PIE, smoke)​

Lists AI controller paths in the PIE world (typed snapshots: ai.audit_controllers).

No arguments.

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.list_assets (risk 0, smoke)​

Lists Blackboard, Behavior Tree and EQS query assets under a folder.

ArgumentTypeDescription
folderstringContent folder to search. Default TEXT("/Game").
recursivebooleanSearch subfolders. Default true.

Returns: assets, count, warnings, message.

ai.list_bt_decorator_classes (risk 0, smoke)​

No description.

ArgumentTypeDescription
folderstringContent folder to search. Default TEXT("/Game").
recursivebooleanSearch subfolders. Default true.

Returns: assets, count, warnings, message.

ai.list_bt_service_classes (risk 0, smoke)​

No description.

ArgumentTypeDescription
folderstringContent folder to search. Default TEXT("/Game").
recursivebooleanSearch subfolders. Default true.

Returns: assets, count, warnings, message.

ai.list_bt_task_classes (risk 0, smoke)​

No description.

ArgumentTypeDescription
folderstringContent folder to search. Default TEXT("/Game").
recursivebooleanSearch subfolders. Default true.

Returns: assets, count, warnings, message.

ai.move_to (risk 2, mutates, requires PIE, smoke)​

Moves to an actor (target) or a location; returns the request result and id. Needs a navmesh for path moves.

ArgumentTypeDescription
controllerstringrequired. AI controller actor path, label, or unique name.
targetstringPawn, target actor, or behavior tree reference as required by the action.
location{x,y,z}World-space destination for movement.
acceptanceRadiusnumberAcceptance radius in centimeters; negative uses the engine default. Default -1.f.
keystringBlackboard key for the typed value action.
typestringbool, int, float, string, name, vector, rotator, object, class, or enum.
valuestringText value for scalar and name types.
prioritystringFocus priority for focus tools: Default, Move or Gameplay. Default TEXT("Gameplay").

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.pause_tree (risk 2, mutates, requires PIE, smoke)​

Pauses the controller's brain logic.

ArgumentTypeDescription
controllerstringrequired. AI controller actor path, label, or unique name.
targetstringPawn, target actor, or behavior tree reference as required by the action.
location{x,y,z}World-space destination for movement.
acceptanceRadiusnumberAcceptance radius in centimeters; negative uses the engine default. Default -1.f.
keystringBlackboard key for the typed value action.
typestringbool, int, float, string, name, vector, rotator, object, class, or enum.
valuestringText value for scalar and name types.
prioritystringFocus priority for focus tools: Default, Move or Gameplay. Default TEXT("Gameplay").

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.perception_add_component (risk 2, mutates, requires world, smoke)​

Adds an AIPerception component to a level actor (returns the existing one with created=false). On an AIController it also becomes the controller's perception component.

ArgumentTypeDescription
actorstringrequired. Actor label, name, or class: in the editor world (PIE world while PIE runs).

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_add_damage (risk 2, mutates, requires world, smoke)​

Adds a default damage config.

ArgumentTypeDescription
actorstringrequired. Actor containing the AI Perception component.
classstringUAISenseConfig subclass for an add operation.
sensestringSense-config class or implementation-sense class to select.
propertystringReflected setting on the selected config.
valuestringText-export value for the setting.
targetstringStimulus target actor for runtime reporting.
strengthnumberLoudness or damage amount for the matching runtime report. Default 1.f.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_add_hearing (risk 2, mutates, requires world, smoke)​

Adds a default hearing config.

ArgumentTypeDescription
actorstringrequired. Actor containing the AI Perception component.
classstringUAISenseConfig subclass for an add operation.
sensestringSense-config class or implementation-sense class to select.
propertystringReflected setting on the selected config.
valuestringText-export value for the setting.
targetstringStimulus target actor for runtime reporting.
strengthnumberLoudness or damage amount for the matching runtime report. Default 1.f.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_add_prediction (risk 2, mutates, requires world, smoke)​

Adds a default prediction config.

ArgumentTypeDescription
actorstringrequired. Actor containing the AI Perception component.
classstringUAISenseConfig subclass for an add operation.
sensestringSense-config class or implementation-sense class to select.
propertystringReflected setting on the selected config.
valuestringText-export value for the setting.
targetstringStimulus target actor for runtime reporting.
strengthnumberLoudness or damage amount for the matching runtime report. Default 1.f.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_add_sense (risk 2, mutates, requires world, smoke)​

Adds (or replaces) a sense config of class with default settings.

ArgumentTypeDescription
actorstringrequired. Actor containing the AI Perception component.
classstringUAISenseConfig subclass for an add operation.
sensestringSense-config class or implementation-sense class to select.
propertystringReflected setting on the selected config.
valuestringText-export value for the setting.
targetstringStimulus target actor for runtime reporting.
strengthnumberLoudness or damage amount for the matching runtime report. Default 1.f.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_add_sight (risk 2, mutates, requires world, smoke)​

Adds a default sight config.

ArgumentTypeDescription
actorstringrequired. Actor containing the AI Perception component.
classstringUAISenseConfig subclass for an add operation.
sensestringSense-config class or implementation-sense class to select.
propertystringReflected setting on the selected config.
valuestringText-export value for the setting.
targetstringStimulus target actor for runtime reporting.
strengthnumberLoudness or damage amount for the matching runtime report. Default 1.f.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_add_team (risk 2, mutates, requires world, smoke)​

Adds a default team config.

ArgumentTypeDescription
actorstringrequired. Actor containing the AI Perception component.
classstringUAISenseConfig subclass for an add operation.
sensestringSense-config class or implementation-sense class to select.
propertystringReflected setting on the selected config.
valuestringText-export value for the setting.
targetstringStimulus target actor for runtime reporting.
strengthnumberLoudness or damage amount for the matching runtime report. Default 1.f.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_add_touch (risk 2, mutates, requires world, smoke)​

Adds a default touch config.

ArgumentTypeDescription
actorstringrequired. Actor containing the AI Perception component.
classstringUAISenseConfig subclass for an add operation.
sensestringSense-config class or implementation-sense class to select.
propertystringReflected setting on the selected config.
valuestringText-export value for the setting.
targetstringStimulus target actor for runtime reporting.
strengthnumberLoudness or damage amount for the matching runtime report. Default 1.f.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_animal_preset (risk 2, mutates, requires world, smoke)​

Preset: animal. Hearing 3000 cm dominant, wide short sight 1000/1200 cm 110 degrees for every affiliation, touch.

ArgumentTypeDescription
actorstringrequired. Actor label, name, or class: in the editor world (PIE world while PIE runs).

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_audit (risk 0, requires world, smoke)​

Audits every AIPerception component in the world (no senses, dominant sense not configured, lose-sight radius below sight radius, component not on an AIController) and lists stimuli sources.

No arguments.

Returns: world, components, stimuliSources, withIssues, message.

ai.perception_configure_hearing (risk 2, mutates, requires world, smoke)​

Creates or updates the hearing sense: range, max age, affiliation, optional dominance.

ArgumentTypeDescription
actorstringrequired. Actor with the AIPerception component.
hearingRangenumberHearing range in cm (> 0). Default 3000.f.
maxAgenumberSeconds a noise is remembered; 0 = forever. Default 5.f.
affiliationUeaAiPerceptionAffiliationWho is detected.
dominantbooleanMake hearing the dominant sense. Default false.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_configure_sight (risk 2, mutates, requires world, smoke)​

Creates or updates the sight sense: radii, vision angle, max age, auto-success range, affiliation, optional dominance.

ArgumentTypeDescription
actorstringrequired. Actor with the AIPerception component.
sightRadiusnumberRadius in cm at which targets are first seen (> 0). Default 3000.f.
loseSightRadiusnumberRadius in cm at which seen targets are lost (>= sightRadius). Default 3500.f.
peripheralVisionAnglenumberHalf angle of the vision cone in degrees (0..180). Default 90.f.
maxAgenumberSeconds a sighting is remembered; 0 = forever. Default 5.f.
autoSuccessRangenumberAuto-success range from the last seen location in cm; negative disables it. Default -1.f.
affiliationUeaAiPerceptionAffiliationWho is detected.
dominantbooleanMake sight the dominant sense. Default false.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_forget_actor (risk 2, mutates, requires world, smoke)​

Forgets one target actor.

ArgumentTypeDescription
actorstringrequired. Actor containing the AI Perception component.
classstringUAISenseConfig subclass for an add operation.
sensestringSense-config class or implementation-sense class to select.
propertystringReflected setting on the selected config.
valuestringText-export value for the setting.
targetstringStimulus target actor for runtime reporting.
strengthnumberLoudness or damage amount for the matching runtime report. Default 1.f.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_forget_all (risk 2, mutates, requires world, smoke)​

Forgets every perceived actor.

ArgumentTypeDescription
actorstringrequired. Actor containing the AI Perception component.
classstringUAISenseConfig subclass for an add operation.
sensestringSense-config class or implementation-sense class to select.
propertystringReflected setting on the selected config.
valuestringText-export value for the setting.
targetstringStimulus target actor for runtime reporting.
strengthnumberLoudness or damage amount for the matching runtime report. Default 1.f.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_get (risk 0, requires world, smoke)​

Returns the perception component of an actor with its typed sense configs.

ArgumentTypeDescription
actorstringrequired. Actor label, name, or class: in the editor world (PIE world while PIE runs).

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_get_actor_stimuli (risk 0, requires world, smoke)​

Stimuli remembered for one target actor.

ArgumentTypeDescription
actorstringrequired. Actor containing the AI Perception component.
classstringUAISenseConfig subclass for an add operation.
sensestringSense-config class or implementation-sense class to select.
propertystringReflected setting on the selected config.
valuestringText-export value for the setting.
targetstringStimulus target actor for runtime reporting.
strengthnumberLoudness or damage amount for the matching runtime report. Default 1.f.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_get_config (risk 0, requires world, smoke)​

Returns every sense config with its settings.

ArgumentTypeDescription
actorstringrequired. Actor containing the AI Perception component.
classstringUAISenseConfig subclass for an add operation.
sensestringSense-config class or implementation-sense class to select.
propertystringReflected setting on the selected config.
valuestringText-export value for the setting.
targetstringStimulus target actor for runtime reporting.
strengthnumberLoudness or damage amount for the matching runtime report. Default 1.f.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_get_currently_perceived (risk 0, requires world, smoke)​

Actors currently perceived (optionally by one sense) in senses.

ArgumentTypeDescription
actorstringrequired. Actor containing the AI Perception component.
classstringUAISenseConfig subclass for an add operation.
sensestringSense-config class or implementation-sense class to select.
propertystringReflected setting on the selected config.
valuestringText-export value for the setting.
targetstringStimulus target actor for runtime reporting.
strengthnumberLoudness or damage amount for the matching runtime report. Default 1.f.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_get_dominant (risk 0, requires world, smoke)​

Returns the dominant sense.

ArgumentTypeDescription
actorstringrequired. Actor containing the AI Perception component.
classstringUAISenseConfig subclass for an add operation.
sensestringSense-config class or implementation-sense class to select.
propertystringReflected setting on the selected config.
valuestringText-export value for the setting.
targetstringStimulus target actor for runtime reporting.
strengthnumberLoudness or damage amount for the matching runtime report. Default 1.f.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_get_known_perceived (risk 0, requires world, smoke)​

Actors ever perceived and still remembered (optionally by one sense) in senses.

ArgumentTypeDescription
actorstringrequired. Actor containing the AI Perception component.
classstringUAISenseConfig subclass for an add operation.
sensestringSense-config class or implementation-sense class to select.
propertystringReflected setting on the selected config.
valuestringText-export value for the setting.
targetstringStimulus target actor for runtime reporting.
strengthnumberLoudness or damage amount for the matching runtime report. Default 1.f.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_get_sense (risk 0, requires world, smoke)​

Returns one configured sense with every setting.

ArgumentTypeDescription
actorstringrequired. Actor with the AIPerception component.
sensestringrequired. Config class name or path (AISenseConfig_Sight, /Script/AIModule.AISenseConfig_Hearing...).

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_guard_preset (risk 2, mutates, requires world, smoke)​

Preset: guard. Sight 2000/2500 cm, 60 degrees, hearing 1500 cm, damage; sight dominant.

ArgumentTypeDescription
actorstringrequired. Actor label, name, or class: in the editor world (PIE world while PIE runs).

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_is_sense_enabled (risk 0, UE 5.4+, requires world, smoke)​

Whether a sense (implementation class) is enabled. UE 5.0+.

ArgumentTypeDescription
actorstringrequired. Actor containing the AI Perception component.
classstringUAISenseConfig subclass for an add operation.
sensestringSense-config class or implementation-sense class to select.
propertystringReflected setting on the selected config.
valuestringText-export value for the setting.
targetstringStimulus target actor for runtime reporting.
strengthnumberLoudness or damage amount for the matching runtime report. Default 1.f.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_list_config_properties (risk 0, requires world, smoke)​

Lists the property names of a configured sense.

ArgumentTypeDescription
actorstringrequired. Actor containing the AI Perception component.
classstringUAISenseConfig subclass for an add operation.
sensestringSense-config class or implementation-sense class to select.
propertystringReflected setting on the selected config.
valuestringText-export value for the setting.
targetstringStimulus target actor for runtime reporting.
strengthnumberLoudness or damage amount for the matching runtime report. Default 1.f.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_list_sense_classes (risk 0, smoke)​

Lists concrete UAISenseConfig classes.

No arguments.

Returns: classes, count.

ai.perception_list_senses (risk 0, requires world, smoke)​

Lists the configured sense config classes of an actor's perception component.

ArgumentTypeDescription
actorstringrequired. Actor label, name, or class: in the editor world (PIE world while PIE runs).

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_remove_component (risk 3, mutates, destructive, requires world, smoke)​

Removes an AIPerception component that was added to the actor instance (class components are refused).

ArgumentTypeDescription
actorstringrequired. Actor label, name, or class: in the editor world (PIE world while PIE runs).

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_remove_sense (risk 3, mutates, destructive, requires world, smoke)​

Removes one sense config (it is disabled first so a running listener stops using it).

ArgumentTypeDescription
actorstringrequired. Actor with the AIPerception component.
sensestringrequired. Config class name or path (AISenseConfig_Sight, /Script/AIModule.AISenseConfig_Hearing...).

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_request_listener_update (risk 2, mutates, requires world, smoke)​

Asks the perception system to refresh the component's listener.

ArgumentTypeDescription
actorstringrequired. Actor containing the AI Perception component.
classstringUAISenseConfig subclass for an add operation.
sensestringSense-config class or implementation-sense class to select.
propertystringReflected setting on the selected config.
valuestringText-export value for the setting.
targetstringStimulus target actor for runtime reporting.
strengthnumberLoudness or damage amount for the matching runtime report. Default 1.f.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_set_affiliation (risk 2, mutates, requires world, smoke)​

Sets detection by affiliation (enemies/neutrals/friendlies) of one configured sense.

ArgumentTypeDescription
actorstringrequired. Actor with the AIPerception component.
sensestringrequired. Config class name or path (Sight, Hearing, or Touch on 5.x).
affiliationUeaAiPerceptionAffiliationWho is detected.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_set_dominant (risk 2, mutates, requires world, smoke)​

Sets the dominant sense (implementation class, e.g. /Script/AIModule.AISense_Sight).

ArgumentTypeDescription
actorstringrequired. Actor containing the AI Perception component.
classstringUAISenseConfig subclass for an add operation.
sensestringSense-config class or implementation-sense class to select.
propertystringReflected setting on the selected config.
valuestringText-export value for the setting.
targetstringStimulus target actor for runtime reporting.
strengthnumberLoudness or damage amount for the matching runtime report. Default 1.f.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_set_max_age (risk 2, mutates, requires world, smoke)​

Sets how long stimuli of one configured sense are remembered.

ArgumentTypeDescription
actorstringrequired. Actor with the AIPerception component.
sensestringrequired. Config class name or path.
maxAgenumberSeconds a stimulus stays known (>= 0; 0 = forever). Default 5.f.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_set_sense (risk 2, mutates, requires world, smoke)​

Sets one reflected setting of a configured sense from text.

ArgumentTypeDescription
actorstringrequired. Actor containing the AI Perception component.
classstringUAISenseConfig subclass for an add operation.
sensestringSense-config class or implementation-sense class to select.
propertystringReflected setting on the selected config.
valuestringText-export value for the setting.
targetstringStimulus target actor for runtime reporting.
strengthnumberLoudness or damage amount for the matching runtime report. Default 1.f.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_set_sense_enabled (risk 2, mutates, requires world, smoke)​

Enables or disables a sense (implementation class) at run time.

ArgumentTypeDescription
actorstringrequired. Actor containing the AI Perception component.
classstringUAISenseConfig subclass for an add operation.
sensestringSense-config class or implementation-sense class to select.
propertystringReflected setting on the selected config.
valuestringText-export value for the setting.
targetstringStimulus target actor for runtime reporting.
strengthnumberLoudness or damage amount for the matching runtime report. Default 1.f.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_set_starts_enabled (risk 2, mutates, requires world, smoke)​

Sets whether one configured sense starts enabled.

ArgumentTypeDescription
actorstringrequired. Actor with the AIPerception component.
sensestringrequired. Config class name or path.
enabledbooleanSense active from the start. Default true.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.perception_sniper_preset (risk 2, mutates, requires world, smoke)​

Preset: sniper. Long narrow sight 6000/6500 cm, 15 degrees, long memory, damage; sight dominant.

ArgumentTypeDescription
actorstringrequired. Actor label, name, or class: in the editor world (PIE world while PIE runs).

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.possess (risk 2, mutates, requires PIE, smoke)​

Possesses a pawn (target).

ArgumentTypeDescription
controllerstringrequired. AI controller actor path, label, or unique name.
targetstringPawn, target actor, or behavior tree reference as required by the action.
location{x,y,z}World-space destination for movement.
acceptanceRadiusnumberAcceptance radius in centimeters; negative uses the engine default. Default -1.f.
keystringBlackboard key for the typed value action.
typestringbool, int, float, string, name, vector, rotator, object, class, or enum.
valuestringText value for scalar and name types.
prioritystringFocus priority for focus tools: Default, Move or Gameplay. Default TEXT("Gameplay").

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.remove_test_actor (risk 3, mutates, destructive, requires world, smoke)​

Destroys an actor created by ai.spawn_test_actor (actors without the UeaAiTest tag are refused).

ArgumentTypeDescription
actorstringrequired. Actor label, name, or class: in the editor world (PIE world while PIE runs).

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.report_damage (risk 2, mutates, requires PIE, smoke)​

Reports a damage event to the damage sense (UAISense_Damage::ReportDamageEvent).

ArgumentTypeDescription
damagedstringrequired. Damaged actor (label); its perception component receives the event.
instigatorstringInstigator actor (label); empty = none.
amountnumberDamage amount (stimulus strength). Default 10.f.
location{x,y,z}Event location in cm; zero uses the instigator (or damaged) actor location.
tagstringOptional stimulus tag.

Returns: sense, location, instigator, listeners, message.

ai.report_noise (risk 2, mutates, requires PIE, smoke)​

Reports a noise event to the hearing sense (UAISense_Hearing::ReportNoiseEvent).

ArgumentTypeDescription
location{x,y,z}Noise location in cm.
loudnessnumberLoudness multiplier of the listeners' hearing range (> 0). Default 1.f.
instigatorstringActor that made the noise (label); empty = none.
maxRangenumberMaximum range in cm; 0 = listeners' hearing range only. Default 0.f.
tagstringOptional stimulus tag.

Returns: sense, location, instigator, listeners, message.

ai.report_touch (risk 2, mutates, UE 5.1+, requires PIE, smoke)​

Reports a touch event to the touch sense (UAISense_Touch::ReportTouchEvent). UE 5.1+.

ArgumentTypeDescription
receiverstringrequired. Actor that was touched (label); its perception component receives the event.
otherstringrequired. Actor that touched it (label).
location{x,y,z}Contact location in cm; zero uses the other actor location.

Returns: sense, location, instigator, listeners, message.

ai.restart_tree (risk 2, mutates, requires PIE, smoke)​

Restarts the controller's brain logic from the root (UBrainComponent::RestartLogic).

ArgumentTypeDescription
controllerstringrequired. AI controller actor path, label, or unique name.
targetstringPawn, target actor, or behavior tree reference as required by the action.
location{x,y,z}World-space destination for movement.
acceptanceRadiusnumberAcceptance radius in centimeters; negative uses the engine default. Default -1.f.
keystringBlackboard key for the typed value action.
typestringbool, int, float, string, name, vector, rotator, object, class, or enum.
valuestringText value for scalar and name types.
prioritystringFocus priority for focus tools: Default, Move or Gameplay. Default TEXT("Gameplay").

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.resume_tree (risk 2, mutates, requires PIE, smoke)​

Resumes paused brain logic.

ArgumentTypeDescription
controllerstringrequired. AI controller actor path, label, or unique name.
targetstringPawn, target actor, or behavior tree reference as required by the action.
location{x,y,z}World-space destination for movement.
acceptanceRadiusnumberAcceptance radius in centimeters; negative uses the engine default. Default -1.f.
keystringBlackboard key for the typed value action.
typestringbool, int, float, string, name, vector, rotator, object, class, or enum.
valuestringText value for scalar and name types.
prioritystringFocus priority for focus tools: Default, Move or Gameplay. Default TEXT("Gameplay").

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.run_tree (risk 2, mutates, requires PIE, smoke)​

Runs a Behavior Tree (target) on a controller; the tree's Blackboard is initialised.

ArgumentTypeDescription
controllerstringrequired. AI controller actor path, label, or unique name.
targetstringPawn, target actor, or behavior tree reference as required by the action.
location{x,y,z}World-space destination for movement.
acceptanceRadiusnumberAcceptance radius in centimeters; negative uses the engine default. Default -1.f.
keystringBlackboard key for the typed value action.
typestringbool, int, float, string, name, vector, rotator, object, class, or enum.
valuestringText value for scalar and name types.
prioritystringFocus priority for focus tools: Default, Move or Gameplay. Default TEXT("Gameplay").

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.runtime_get_perception (risk 0, requires PIE, smoke)​

Typed perception snapshot of a controller (or any actor with an AIPerception component): senses and every perceived actor with its stimuli.

ArgumentTypeDescription
actorstringrequired. AI controller or any actor owning an AIPerception component (PIE world).
includeExpiredbooleanInclude actors whose stimuli all expired. Default true.

Returns: actor, component, dominantSense, senseConfigs, perceived, count, message.

ai.set_blackboard_value (risk 2, mutates, requires PIE, smoke)​

Sets a typed Blackboard value (bool, int, float, string, name, vector, rotator, enum, object, class).

ArgumentTypeDescription
controllerstringrequired. AI controller label, name, or class: in the PIE world.
keystringrequired. Blackboard key name.
typestringrequired. bool, int, float, string, name, vector, rotator, enum, object or class.
valuestringText value for bool/int/float/string/name/enum (enum takes the numeric value), actor label for object, class path for class.
vector{x,y,z}Vector value (vector) or pitch/yaw/roll (rotator).

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.set_focal_point (risk 2, mutates, requires PIE, smoke)​

Focuses a world location at priority.

ArgumentTypeDescription
controllerstringrequired. AI controller actor path, label, or unique name.
targetstringPawn, target actor, or behavior tree reference as required by the action.
location{x,y,z}World-space destination for movement.
acceptanceRadiusnumberAcceptance radius in centimeters; negative uses the engine default. Default -1.f.
keystringBlackboard key for the typed value action.
typestringbool, int, float, string, name, vector, rotator, object, class, or enum.
valuestringText value for scalar and name types.
prioritystringFocus priority for focus tools: Default, Move or Gameplay. Default TEXT("Gameplay").

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.set_focus (risk 2, mutates, requires PIE, smoke)​

Focuses an actor (target) at priority (Default, Move, Gameplay).

ArgumentTypeDescription
controllerstringrequired. AI controller actor path, label, or unique name.
targetstringPawn, target actor, or behavior tree reference as required by the action.
location{x,y,z}World-space destination for movement.
acceptanceRadiusnumberAcceptance radius in centimeters; negative uses the engine default. Default -1.f.
keystringBlackboard key for the typed value action.
typestringbool, int, float, string, name, vector, rotator, object, class, or enum.
valuestringText value for scalar and name types.
prioritystringFocus priority for focus tools: Default, Move or Gameplay. Default TEXT("Gameplay").

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.set_pawn_ai_settings (risk 2, mutates, requires world, smoke)​

Sets AIControllerClass and/or AutoPossessAI on a level pawn.

ArgumentTypeDescription
actorstringrequired. Pawn label or name in the editor world.
controllerClassstringAIController class path or name; empty keeps the current class.
autoPossessAistringDisabled, PlacedInWorld, Spawned or PlacedInWorldOrSpawned; empty keeps the current value.

Returns: actor, actorLabel, controllerClass, autoPossessAi, message.

ai.set_team_id (risk 2, mutates, requires PIE, smoke)​

Sets the generic team id of an AI controller (sight/hearing affiliation filters use it).

ArgumentTypeDescription
controllerstringrequired. AI controller label, name, or class: in the PIE world.
teamIdintegerTeam id 0..254; 255 means no team. Default 1.

Returns: actor, teamId, target, targetTeamId, attitude, message.

ai.so_add_behavior_definition (risk 2, mutates, UE 5.3+, requires plugin SmartObjects, smoke)​

Adds a behavior definition instance of behaviorClass to a slot.

ArgumentTypeDescription
definitionstringrequired. Smart Object definition asset path or unique asset name.
slotintegerSlot index. Default 0.
behaviorClassstringso_add_behavior_definition: concrete USmartObjectBehaviorDefinition class (see so_list_behavior_definition_classes).
indexintegerso_remove_behavior_definition: index in the slot's behavior definition list. Default 0.

Returns: definition, slotCount, message, slots, activityTags, userTagFilter, valid, messages.

ai.so_add_slot (risk 2, mutates, UE 5.0+, requires plugin SmartObjects, smoke)​

Adds a slot; name, offset, rotation and activity tags are applied on UE 5.3+. Returns the typed definition.

ArgumentTypeDescription
definitionstringrequired. Smart Object definition asset path or unique asset name.
namestringOptional slot name (UE 5.3+).
offset{x,y,z}Slot offset from the owner in cm (UE 5.3+).
rotation{x,y,z}Slot rotation pitch/yaw/roll in degrees (UE 5.3+).
activityTagsarray of stringSlot activity tags (UE 5.3+).

Returns: definition, slotCount, message, slots, activityTags, userTagFilter, valid, messages.

ai.so_attach_definition (risk 2, mutates, UE 5.6+, requires plugin SmartObjects, requires world, smoke)​

Adds a Smart Object component with the definition to an editor-world actor (or to a new actor with spawnNew).

ArgumentTypeDescription
actorstringrequired. Actor label/name in the editor world, or 'class:'. With spawnNew: label of the new actor.
definitionstringrequired. Smart Object definition asset path or unique asset name.
spawnNewbooleanSpawn a new empty actor with this label instead of using an existing one. Default false.
location{x,y,z}Location of the new actor (spawnNew only).

Returns: world, objects, results, count, changedActors.

ai.so_audit_slots (risk 0, UE 5.0+, requires plugin SmartObjects, smoke)​

Audits the slots: missing behavior definitions, disabled slots, duplicate names, overlapping offsets.

ArgumentTypeDescription
definitionstringrequired. Smart Object definition asset path or unique asset name.

Returns: definition, slotCount, message, slots, activityTags, userTagFilter, valid, messages.

ai.so_claim_slot (risk 1, UE 5.6+, requires plugin SmartObjects, requires PIE, smoke)​

PIE: claims a slot (MarkSlotAsClaimed) and returns the claim id '#'.

ArgumentTypeDescription
actorstringrequired. Actor label of the Smart Object in the PIE world.
slotintegerSlot index on that Smart Object. Default 0.
prioritystringClaim priority: Low, BelowNormal, Normal, AboveNormal, High. Default TEXT("Normal").

Returns: claim, claims, count.

ai.so_create_definition (risk 2, mutates, UE 5.0+, requires plugin SmartObjects, smoke)​

Creates an empty Smart Object definition asset (add slots with ai.so_add_slot).

ArgumentTypeDescription
folderstringrequired. Content folder under /Game.
namestringrequired. Bare asset name.

Returns: definition, slotCount, message, slots, activityTags, userTagFilter, valid, messages.

ai.so_duplicate_definition (risk 2, mutates, UE 5.0+, requires plugin SmartObjects, smoke)​

Duplicates a definition asset (slots, behaviors, tags) into a new asset.

ArgumentTypeDescription
definitionstringrequired. Source definition asset path or unique asset name.
folderstringrequired. Destination folder under /Game.
namestringrequired. Bare name of the copy.

Returns: definition, slotCount, message, slots, activityTags, userTagFilter, valid, messages.

ai.so_find_slots (risk 0, UE 5.6+, requires plugin SmartObjects, requires PIE, smoke)​

PIE: finds Smart Object slots in a box around location (USmartObjectSubsystem::FindSmartObjects) filtered by activity tags / behavior class.

ArgumentTypeDescription
location{x,y,z}Query center.
radiusnumberQuery half extent in cm (box). Default 5000.f.
activityTagsarray of stringSlots must match any of these activity tags (empty = no activity requirement).
behaviorClassstringOnly slots offering this behavior definition class.
includeClaimedbooleanInclude slots that are already claimed. Default false.
limitintegerMaximum results (1-500). Default 100.

Returns: world, objects, results, count, changedActors.

ai.so_get_definition (risk 0, UE 5.0+, requires plugin SmartObjects, smoke)​

Returns a definition with its typed slots (UE 5.3+ fields), activity tags and user tag filter.

ArgumentTypeDescription
definitionstringrequired. Smart Object definition asset path or unique asset name.

Returns: definition, slotCount, message, slots, activityTags, userTagFilter, valid, messages.

ai.so_get_slot (risk 0, UE 5.0+, requires plugin SmartObjects, smoke)​

Returns one slot (typed on UE 5.3+, text export in message).

ArgumentTypeDescription
definitionstringrequired. Smart Object definition asset path or unique asset name.
slotintegerSlot index returned by so_list_slots. Default 0.
propertystringReflected slot-definition property name (so_get/set_slot_property).
valuestringText-export value for the slot property (so_set_slot_property).

Returns: definition, slotCount, message, slots, activityTags, userTagFilter, valid, messages.

ai.so_get_slot_property (risk 0, UE 5.0+, requires plugin SmartObjects, smoke)​

Reads one reflected slot property as text.

ArgumentTypeDescription
definitionstringrequired. Smart Object definition asset path or unique asset name.
slotintegerSlot index returned by so_list_slots. Default 0.
propertystringReflected slot-definition property name (so_get/set_slot_property).
valuestringText-export value for the slot property (so_set_slot_property).

Returns: definition, slotCount, message, slots, activityTags, userTagFilter, valid, messages.

ai.so_list_behavior_definition_classes (risk 0, UE 5.3+, requires plugin SmartObjects, smoke)​

Lists concrete loaded USmartObjectBehaviorDefinition classes (behavior definitions come from gameplay plugins such as GameplayBehaviorSmartObjects, GameplayInteractions or MassGameplay).

No arguments.

Returns: classes, count.

ai.so_list_claims (risk 0, UE 5.6+, requires plugin SmartObjects, requires PIE, smoke)​

PIE: lists the claims made through this kit with their current slot state.

No arguments.

Returns: claim, claims, count.

ai.so_list_definitions (risk 0, UE 5.0+, requires plugin SmartObjects, smoke)​

Lists Smart Object definition assets under a folder.

ArgumentTypeDescription
folderstringContent folder to list. Default TEXT("/Game").
recursivebooleanInclude sub-folders. Default true.

Returns: definitions, count.

ai.so_list_slot_properties (risk 0, UE 5.0+, requires plugin SmartObjects, smoke)​

Lists the reflected slot property names (one per line in message).

ArgumentTypeDescription
definitionstringrequired. Smart Object definition asset path or unique asset name.
slotintegerSlot index returned by so_list_slots. Default 0.
propertystringReflected slot-definition property name (so_get/set_slot_property).
valuestringText-export value for the slot property (so_set_slot_property).

Returns: definition, slotCount, message, slots, activityTags, userTagFilter, valid, messages.

ai.so_list_slots (risk 0, UE 5.0+, requires plugin SmartObjects, smoke)​

Lists the slots of a definition.

ArgumentTypeDescription
definitionstringrequired. Smart Object definition asset path or unique asset name.

Returns: definition, slotCount, message, slots, activityTags, userTagFilter, valid, messages.

ai.so_list_world_objects (risk 0, UE 5.6+, requires plugin SmartObjects, requires world, smoke)​

Lists Smart Object components of the PIE world (or the editor world) with registration, handle and runtime slot states.

ArgumentTypeDescription
actorstringOptional actor label filter (exact).

Returns: world, objects, results, count, changedActors.

ai.so_release_slot (risk 1, UE 5.6+, requires plugin SmartObjects, requires PIE, smoke)​

PIE: releases a claim (MarkSlotAsFree).

ArgumentTypeDescription
claimstringrequired. Claim id returned by so_claim_slot ('#').
behaviorClassstringso_use_slot: behavior definition class to use (must be on the slot or the definition).

Returns: claim, claims, count.

ai.so_remove_behavior_definition (risk 2, mutates, UE 5.3+, requires plugin SmartObjects, smoke)​

Removes a behavior definition from a slot by index.

ArgumentTypeDescription
definitionstringrequired. Smart Object definition asset path or unique asset name.
slotintegerSlot index. Default 0.
behaviorClassstringso_add_behavior_definition: concrete USmartObjectBehaviorDefinition class (see so_list_behavior_definition_classes).
indexintegerso_remove_behavior_definition: index in the slot's behavior definition list. Default 0.

Returns: definition, slotCount, message, slots, activityTags, userTagFilter, valid, messages.

ai.so_set_definition_tags (risk 2, mutates, UE 5.3+, requires plugin SmartObjects, smoke)​

Sets the definition-level activity tags and user tag filter.

ArgumentTypeDescription
definitionstringrequired. Smart Object definition asset path or unique asset name.
activityTagsarray of stringReplace the definition activity tags with these.
setActivityTagsbooleanApply activityTags. Default false.
userTagFilterAnyTagsarray of stringUser tag filter: users need any of these tags (empty clears the filter).
setUserTagFilterbooleanApply userTagFilterAnyTags. Default false.

Returns: definition, slotCount, message, slots, activityTags, userTagFilter, valid, messages.

ai.so_set_slot (risk 2, mutates, UE 5.3+, requires plugin SmartObjects, smoke)​

Edits a slot with typed fields (name, offset, rotation, enabled, activity/runtime tags, user tag filter).

ArgumentTypeDescription
definitionstringrequired. Smart Object definition asset path or unique asset name.
slotintegerrequired. Slot index.
namestringNew slot name; empty keeps it.
offset{x,y,z}New offset in cm (applied when setOffset is true).
setOffsetbooleanApply offset. Default false.
rotation{x,y,z}New rotation pitch/yaw/roll (applied when setRotation is true).
setRotationbooleanApply rotation. Default false.
enabledstringtrue/false enables/disables the slot; empty keeps it.
activityTagsarray of stringReplace the activity tags with these (empty array with setActivityTags=true clears them).
setActivityTagsbooleanApply activityTags. Default false.
runtimeTagsarray of stringReplace the initial runtime tags with these.
setRuntimeTagsbooleanApply runtimeTags. Default false.
userTagFilterAnyTagsarray of stringUser tag filter: users need any of these tags (empty with setUserTagFilter=true clears the filter).
setUserTagFilterbooleanApply userTagFilterAnyTags. Default false.

Returns: definition, slotCount, message, slots, activityTags, userTagFilter, valid, messages.

ai.so_set_slot_property (risk 2, mutates, UE 5.0+, requires plugin SmartObjects, smoke)​

Writes a reflected slot property from text (for fields without a typed setter).

ArgumentTypeDescription
definitionstringrequired. Smart Object definition asset path or unique asset name.
slotintegerSlot index returned by so_list_slots. Default 0.
propertystringReflected slot-definition property name (so_get/set_slot_property).
valuestringText-export value for the slot property (so_set_slot_property).

Returns: definition, slotCount, message, slots, activityTags, userTagFilter, valid, messages.

ai.so_spawn_runtime_object (risk 1, UE 5.6+, requires plugin SmartObjects, requires PIE, smoke)​

PIE fixture: spawns an actor with a Smart Object component (definition asset, or a transient definition with slotCount slots of behaviorClass).

ArgumentTypeDescription
labelstringrequired. Label of the new actor (must be unused).
definitionstringDefinition asset; leave empty with transientDefinition=true.
transientDefinitionbooleanBuild a transient definition (slotCount slots, one behaviorClass definition each) instead of using an asset. Default false.
slotCountintegerSlots of the transient definition (1-16). Default 1.
behaviorClassstringBehavior definition class of the transient slots (concrete USmartObjectBehaviorDefinition subclass).
location{x,y,z}Spawn location.

Returns: world, objects, results, count, changedActors.

ai.so_use_slot (risk 1, UE 5.6+, requires plugin SmartObjects, requires PIE, smoke)​

PIE: starts using a claimed slot (MarkSlotAsOccupied) with a behavior definition class and returns the behavior definition.

ArgumentTypeDescription
claimstringrequired. Claim id returned by so_claim_slot ('#').
behaviorClassstringso_use_slot: behavior definition class to use (must be on the slot or the definition).

Returns: claim, claims, count.

ai.so_validate (risk 0, UE 5.0+, requires plugin SmartObjects, smoke)​

Runs USmartObjectDefinition::Validate and returns the result (messages on UE 5.2+).

ArgumentTypeDescription
definitionstringrequired. Smart Object definition asset path or unique asset name.

Returns: definition, slotCount, message, slots, activityTags, userTagFilter, valid, messages.

ai.spawn_ai (risk 1, requires PIE, smoke)​

Spawns an AI pawn (default Character) possessed by an AIController in the PIE world. With testTree it also builds a transient Blackboard (TargetActor, PatrolIndex, HomeLocation, IsAlert) and a Selector+Wait tree at /Engine/Transient.BT_AiSmokeRuntime; perception gives the controller sight/hearing/damage; stimuliSource makes the pawn perceivable.

ArgumentTypeDescription
labelstringPawn label in the PIE world. Default TEXT("AiTestPawn").
controllerLabelstringController label; empty uses label + "Controller".
location{x,y,z}Spawn location in centimetres.
pawnClassstringPawn class path or name; empty spawns a Character.
controllerClassstringAIController class path or name; empty spawns a plain AAIController.
behaviorTreestringBehavior Tree asset to run right away (optional).
testTreebooleanBuild the transient test Blackboard + Behavior Tree (/Engine/Transient.BT_AiSmokeRuntime) without running it. Default false.
perceptionbooleanGive the controller an AIPerception component with sight, hearing and damage senses. Default false.
stimuliSourcebooleanGive the pawn a stimuli source registered for sight and hearing. Default false.

Returns: pawn, pawnLabel, controller, controllerLabel, testTree, values, count, state, message.

ai.spawn_test_actor (risk 2, mutates, requires world, smoke)​

Spawns a labelled Pawn (tagged UeaAiTest) in the editor world, or the PIE world while PIE runs, optionally with AIPerception and stimuli-source components; a fixture for perception experiments.

ArgumentTypeDescription
labelstringrequired. Actor label; must not already be used by another actor.
location{x,y,z}Spawn location in centimetres.
pawnClassstringPawn class path or name; empty spawns a plain Pawn.
perceptionbooleanAdd an AIPerceptionComponent. Default true.
stimuliSourcebooleanAdd an AIPerceptionStimuliSourceComponent. Default false.

Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.

ai.stimuli_add_source (risk 2, mutates, requires world, smoke)​

Adds (or updates) an AIPerceptionStimuliSource component: the senses it is a source for and auto registration. Empty senses keep the current list.

ArgumentTypeDescription
actorstringrequired. Actor that should be perceivable.
sensesarray of stringAISense classes to register for (AISense_Sight, /Script/AIModule.AISense_Hearing...).
autoRegisterbooleanRegister automatically when play begins. Default true.

Returns: actor, actorLabel, component, autoRegister, senses, created, message.

ai.stimuli_get_source (risk 0, requires world, smoke)​

Returns the stimuli source component of an actor.

ArgumentTypeDescription
actorstringrequired. Actor label, name, or class: in the editor world (PIE world while PIE runs).

Returns: actor, actorLabel, component, autoRegister, senses, created, message.

ai.stimuli_register_sense (risk 2, mutates, requires PIE, smoke)​

Registers an actor's stimuli source for one sense now (live registration).

ArgumentTypeDescription
actorstringrequired. Actor with an AIPerceptionStimuliSource component (PIE world).
sensestringrequired. AISense class (AISense_Sight, /Script/AIModule.AISense_Hearing...).

Returns: actor, actorLabel, component, autoRegister, senses, created, message.

ai.stimuli_remove_source (risk 3, mutates, destructive, requires world, smoke)​

Unregisters and removes a stimuli source component that was added to the actor instance.

ArgumentTypeDescription
actorstringrequired. Actor label, name, or class: in the editor world (PIE world while PIE runs).

Returns: actor, actorLabel, component, autoRegister, senses, created, message.

ai.stimuli_unregister_sense (risk 2, mutates, requires PIE, smoke)​

Unregisters an actor's stimuli source from one sense now.

ArgumentTypeDescription
actorstringrequired. Actor with an AIPerceptionStimuliSource component (PIE world).
sensestringrequired. AISense class (AISense_Sight, /Script/AIModule.AISense_Hearing...).

Returns: actor, actorLabel, component, autoRegister, senses, created, message.

ai.stop_movement (risk 2, mutates, requires PIE, smoke)​

Stops the current move.

ArgumentTypeDescription
controllerstringrequired. AI controller actor path, label, or unique name.
targetstringPawn, target actor, or behavior tree reference as required by the action.
location{x,y,z}World-space destination for movement.
acceptanceRadiusnumberAcceptance radius in centimeters; negative uses the engine default. Default -1.f.
keystringBlackboard key for the typed value action.
typestringbool, int, float, string, name, vector, rotator, object, class, or enum.
valuestringText value for scalar and name types.
prioritystringFocus priority for focus tools: Default, Move or Gameplay. Default TEXT("Gameplay").

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.stop_tree (risk 2, mutates, requires PIE, smoke)​

Stops the controller's brain logic.

ArgumentTypeDescription
controllerstringrequired. AI controller actor path, label, or unique name.
targetstringPawn, target actor, or behavior tree reference as required by the action.
location{x,y,z}World-space destination for movement.
acceptanceRadiusnumberAcceptance radius in centimeters; negative uses the engine default. Default -1.f.
keystringBlackboard key for the typed value action.
typestringbool, int, float, string, name, vector, rotator, object, class, or enum.
valuestringText value for scalar and name types.
prioritystringFocus priority for focus tools: Default, Move or Gameplay. Default TEXT("Gameplay").

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.

ai.unpossess (risk 2, mutates, requires PIE, smoke)​

Unpossesses the current pawn.

ArgumentTypeDescription
controllerstringrequired. AI controller actor path, label, or unique name.
targetstringPawn, target actor, or behavior tree reference as required by the action.
location{x,y,z}World-space destination for movement.
acceptanceRadiusnumberAcceptance radius in centimeters; negative uses the engine default. Default -1.f.
keystringBlackboard key for the typed value action.
typestringbool, int, float, string, name, vector, rotator, object, class, or enum.
valuestringText value for scalar and name types.
prioritystringFocus priority for focus tools: Default, Move or Gameplay. Default TEXT("Gameplay").

Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.