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.
| Prefix | Area | World |
|---|---|---|
ai.create_test_setup, ai.list_assets, ai.list_*_classes | shared fixtures, inventory | assets |
ai.bb_* | Blackboard assets and keys | assets |
ai.bt_* | Behavior Tree runtime hierarchy | assets |
ai.eqs_* | EQS queries: options, generators, tests, contexts, recipes, export/import, audit, run | assets; ai.eqs_run editor or PIE world |
ai.perception_*, ai.stimuli_add/get/remove_source, ai.spawn_test_actor, ai.{set,get}_pawn_ai_settings | perception components, senses, presets, stimuli sources, pawn AI settings | editor world (PIE world while PIE runs) |
ai.spawn_ai, controller tools, ai.runtime_get_perception, ai.report_*, ai.stimuli_{register,unregister}_sense, teams | AI agents at run time | PIE 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) andEQ_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/parentaccept a node ID (nodes[].id), a path (root/1/0,root/1@d0decorator,root@s0service) or the node name; emptyparent= root. Every edit returns the rebuilt hierarchy plusgraphSync. - 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 runai.bt_set_blackboardagain.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'}, thenai.bt_validate_runtime_hierarchy. - Conditions and flow: typed decorators take
abortMode(none/self/lowerPriority/both; sequences cannot abort lower priority) andinverse. Combine withai.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_referencesshows which nodes use a key before a rename/remove. - Blackboard defaults:
ai.bb_set_<type>needs 5.4+ (enum/class/object 5.5+); useai.bb_add_key/ai.bb_set_keyon older engines.ai.bb_export_schema→ai.bb_import {mode:'merge'|'replace'}copies a schema;ai.bb_diffcompares two blackboards. - Round trip:
ai.bt_export→ai.bt_import(replaces the whole tree; the nodeidis 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)
| Recipe | Result |
|---|---|
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
ai.eqs_create {query:'/Game/AI/EQ_Flank'}.ai.eqs_add_option {query, class:'/Script/AIModule.EnvQueryGenerator_SimpleGrid'}(options run in order until one yields items; reorder withai.eqs_move_option, copy withai.eqs_duplicate_option, swap the generator withai.eqs_replace_generator).- 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 withai.eqs_set_projection {traceMode, projectDown, projectUp}. 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.- 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. - Contexts anywhere:
ai.eqs_set_context {option, test (-1 = generator), property, context}(GenerateAround,CircleCenter,DistanceTo,Context,LineA.LineFrom...). - 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_testlist 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 returnsstatus,optionIndex,itemType,totalItemsand the scoreditems(best first:score,location,actorlabel for actor items).querieris any actor;class:WorldSettingsis a neutral querier at the origin. AFailedstatus with zero items is a result, not an error (e.g. all points dropped by navmesh projection when the level has no navmesh: setai.eqs_set_projection {traceMode:'None'}to test without one).ai.eqs_validate(one query) andai.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, orreplace:trueon 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.
ai.perception_add_component {actor}(returns the existing one withcreated:false; on an AIController it becomes the controller's perception component). For experimentsai.spawn_test_actor {label, perception:true, stimuliSource:true}spawns a tagged pawn.- 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, genericai.perception_set_sense {sense, property, value}. Presets and configure tools create the sense when missing and update it otherwise.
ai.perception_set_dominant {sense:'/Script/AIModule.AISense_Sight'};ai.perception_remove_sense {sense:'AISenseConfig_Touch'}; inspect withai.perception_get(typedsenseConfigswith every setting) orai.perception_get_sense.- 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. - 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).
ai.spawn_ai {label, controllerLabel, location, testTree, perception, stimuliSource, behaviorTree?}spawns a Character (orpawnClass) possessed by an AIController (orcontrollerClass).testTreebuilds/Engine/Transient.BT_AiSmokeRuntime(Selector + Wait, keys TargetActor/PatrolIndex/HomeLocation/IsAlert);perceptiongives the controller sight, hearing and damage (every affiliation);stimuliSourceregisters the pawn for sight and hearing. The reply returnspawn,pawnLabel,controller,controllerLabel. Remove it withai.despawn_ai.- 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. - 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. - Movement and focus:
ai.move_to {location | target, acceptanceRadius}returnsrequestResult(Failedwithout a navmesh) andmoveRequestId;ai.get_move_status,ai.stop_movement;ai.set_focus {target, priority},ai.set_focal_point,ai.clear_focus,ai.get_focus. - Possession:
ai.unpossess,ai.possess {target}(refused when another controller owns the pawn). - 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 withai.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 withai.stimuli_register_sense/ai.stimuli_unregister_sense. - Teams:
ai.set_team_id {controller, teamId}(255 = no team) andai.get_team_attitude {actor, target}(Friendly/Neutral/Hostile as perception sees it). - 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_runuses 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
ConfigureSenseand a listener update; removing the dominant sense leaves it dominant (a warning says so). ai.perception_remove_componentandai.stimuli_remove_sourceonly remove components added to the actor instance; components from the actor class must be removed in its Blueprint.ai.perception_is_sense_enabledneeds UE 5.0+,ai.report_touchUE 5.1+,ai.eqs_set_strip_from_client_buildsUE 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
MaxAutoRiskneed"_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 thedryRunargument. smoke = covered byedit.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_
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. Blackboard asset path or unique name. |
name | string | required. Key name. |
type | string | required. bool, int, float, string, name, vector, rotator, enum, nativeEnum, class, or object. |
baseClass | string | Base class filter for class and object keys. |
enum | string | Enum asset path for enum keys, or native enum name for nativeEnum keys. |
description | string | Optional editor description. |
category | string | Optional editor category. |
instanceSynced | boolean | Synchronize 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.
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. Blackboard asset path or unique name. |
keys | array of UeaAiBbKeySpec | required. 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.
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. 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.
| Argument | Type | Description |
|---|---|---|
folder | string | required. Content folder under /Game. |
name | string | required. Bare asset name. |
parent | string | Optional 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).
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. 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.
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. Left blackboard. |
other | string | required. Right blackboard. |
includeInherited | boolean | Compare 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.
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. Blackboard asset path or unique name. |
folder | string | Destination folder; source folder when empty. |
name | string | required. 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.
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. 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.
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. 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).
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. Blackboard asset path or unique name. |
name | string | Only report this key name; empty reports every key reference. |
folder | string | Content 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).
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. 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.
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. 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.
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. Blackboard asset path or unique name. |
name | string | required. 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).
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. Blackboard asset path or unique name. |
name | string | required. 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).
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. Blackboard asset path or unique name. |
name | string | required. 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.
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. Blackboard asset path or unique name. |
name | string | required. 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.
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. 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).
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. 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.
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. Target blackboard asset path or unique name. |
keys | array of UeaAiBbKeySpec | required. Key schema to apply (the keys array returned by ai.bb_export_schema). Inherited keys are skipped. |
mode | string | merge: 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.
| Argument | Type | Description |
|---|---|---|
folder | string | Content folder to search. Default TEXT("/Game"). |
recursive | boolean | Search 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.
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. 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).
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. Blackboard asset path or unique name. |
name | string | required. Local key name. |
index | integer | required. 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.
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. 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.
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. Blackboard asset path or unique name. |
name | string | required. Key name. |
type | string | required. bool, int, float, string, name, vector, rotator, enum, nativeEnum, class, or object. |
baseClass | string | Base class filter for class and object keys. |
enum | string | Enum asset path for enum keys, or native enum name for nativeEnum keys. |
description | string | Optional editor description. |
category | string | Optional editor category. |
instanceSynced | boolean | Synchronize 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).
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. Blackboard asset path or unique name. |
name | string | required. Current local key name. |
newName | string | required. 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+).
| Argument | Type | Description |
|---|---|---|
defaultValue | boolean | Default 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+).
| Argument | Type | Description |
|---|---|---|
baseClass | string | required. Base class filter, e.g. Actor or /Script/Engine.Pawn. |
defaultValue | string | Default 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+).
| Argument | Type | Description |
|---|---|---|
enum | string | required. Enum type: UserDefinedEnum asset path or native /Script/Module.EnumName. |
defaultValue | string | Default 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+).
| Argument | Type | Description |
|---|---|---|
defaultValue | number | Default 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+).
| Argument | Type | Description |
|---|---|---|
defaultValue | integer | Default 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).
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. Blackboard asset path or unique name. |
name | string | required. Key name. |
type | string | required. bool, int, float, string, name, vector, rotator, enum, nativeEnum, class, or object. |
baseClass | string | Base class filter for class and object keys. |
enum | string | Enum asset path for enum keys, or native enum name for nativeEnum keys. |
description | string | Optional editor description. |
category | string | Optional editor category. |
instanceSynced | boolean | Synchronize 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.
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. Blackboard asset path or unique name. |
name | string | required. Local key name. |
baseClass | string | New base class filter (class and object keys), e.g. Pawn or /Script/Engine.Pawn. |
enum | string | New 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.
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. Blackboard asset path or unique name. |
name | string | required. Local key name. |
instanceSynced | boolean | required. 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+).
| Argument | Type | Description |
|---|---|---|
defaultValue | string | Default 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+).
| Argument | Type | Description |
|---|---|---|
baseClass | string | required. Base class filter, e.g. Actor or /Script/Engine.Pawn. |
defaultValue | string | Default 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).
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. Blackboard asset path or unique name. |
parent | string | Parent 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+).
| Argument | Type | Description |
|---|---|---|
defaultValue | {x,y,z} | Default value {x=pitch,y=yaw,z=roll}. |
useDefault | boolean | Use 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+).
| Argument | Type | Description |
|---|---|---|
defaultValue | string | Default 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+).
| Argument | Type | Description |
|---|---|---|
defaultValue | {x,y,z} | Default value {x,y,z}. |
useDefault | boolean | Use 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.
| Argument | Type | Description |
|---|---|---|
blackboard | string | required. 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.
| Argument | Type | Description |
|---|---|---|
blackboardKey | string | required. Key tested by the condition. |
keyQuery | string | isSet, 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"). |
value | string | Compared value for arithmetic and text queries. |
notifyObserver | string | When 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.
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
type | string | required. selector, sequence, simpleParallel, or a UBTCompositeNode class path. |
parent | string | Parent composite (see node reference forms); empty = root. |
index | integer | Child index under the parent; -1 appends. Default -1. |
name | string | Runtime 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).
| Argument | Type | Description |
|---|---|---|
coneHalfAngle | number | Half angle of the cone in degrees. Default 45.0f. |
coneOrigin | string | required. Cone origin key (vector or object). |
coneDirection | string | required. Cone direction key (vector, rotator or object). |
observed | string | required. 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.
| Argument | Type | Description |
|---|---|---|
cooldownTime | number | Cooldown 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).
| Argument | Type | Description |
|---|---|---|
blackboardKey | string | required. 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.
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
parent | string | Parent composite (ID, root path or name); empty = root composite. |
index | integer | Child index under the parent; -1 appends. Default -1. |
name | string | Runtime 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).
| Argument | Type | Description |
|---|---|---|
blackboardKey | string | required. Location key (vector or object). |
acceptableRadius | number | Acceptable 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).
| Argument | Type | Description |
|---|---|---|
numLoops | integer | Number of loops (1..255). Default 3. |
infinite | boolean | Loop forever. Default false. |
infiniteLoopTimeout | number | Timeout 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.
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
parent | string | Parent composite (ID, root path or name); empty = root composite. |
index | integer | Child index under the parent; -1 appends. Default -1. |
name | string | Runtime 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.
| Argument | Type | Description |
|---|---|---|
blackboardKey | string | required. Goal key (vector or object key of the tree's blackboard). |
acceptableRadius | number | Acceptable radius in cm. Default 5.0f. |
allowStrafe | boolean | Allow strafing. Default false. |
allowPartialPath | boolean | Accept a partial path when the goal is unreachable. Default true. |
trackMovingGoal | boolean | Keep following a moving goal actor. Default true. |
observeBlackboardValue | boolean | Restart 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.
| Argument | Type | Description |
|---|---|---|
animation | string | Animation asset path; empty leaves it unset. |
looping | boolean | Loop the animation. Default false. |
nonBlocking | boolean | Finish 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.
| Argument | Type | Description |
|---|---|---|
sound | string | Sound 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.
| Argument | Type | Description |
|---|---|---|
blackboardKey | string | required. Key to face (vector, rotator or object key). |
precision | number | Success 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.
| Argument | Type | Description |
|---|---|---|
subtree | string | required. 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).
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
parent | string | Parent composite (ID, root path or name); empty = root composite. |
index | integer | Child index under the parent; -1 appends. Default -1. |
name | string | Runtime 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.
| Argument | Type | Description |
|---|---|---|
query | string | EQS query asset; empty leaves the query unset. |
blackboardKey | string | required. Result key (vector or object key). |
runMode | string | singleResult, 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).
| Argument | Type | Description |
|---|---|---|
query | string | EQS query asset; empty leaves the query unset. |
blackboardKey | string | required. Result key (vector or object key). |
runMode | string | singleResult, 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.
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
parent | string | Parent composite for add or move operations; empty addresses the root composite. |
node | string | Existing node (ID, root path or name) for get, remove, move, duplicate, or property operations. |
class | string | Native or Blueprint BT node class for generic add operations. |
name | string | Name for a new or renamed node (unique in the tree). |
property | string | Reflected property name. |
value | string | Text-export value for a reflected property. |
index | integer | Child (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.
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
parent | string | Parent composite for add or move operations; empty addresses the root composite. |
node | string | Existing node (ID, root path or name) for get, remove, move, duplicate, or property operations. |
class | string | Native or Blueprint BT node class for generic add operations. |
name | string | Name for a new or renamed node (unique in the tree). |
property | string | Reflected property name. |
value | string | Text-export value for a reflected property. |
index | integer | Child (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.
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
parent | string | Parent composite for add or move operations; empty addresses the root composite. |
node | string | Existing node (ID, root path or name) for get, remove, move, duplicate, or property operations. |
class | string | Native or Blueprint BT node class for generic add operations. |
name | string | Name for a new or renamed node (unique in the tree). |
property | string | Reflected property name. |
value | string | Text-export value for a reflected property. |
index | integer | Child (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.
| Argument | Type | Description |
|---|---|---|
timeLimit | number | Time 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.
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
parent | string | Parent composite; empty = root. |
index | integer | Child index under the parent; -1 appends. Default -1. |
seconds | number | Wait time in seconds. Default 1.0f. |
randomDeviation | number | Random deviation in seconds. Default 0.0f. |
name | string | Runtime 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).
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
horizontalSpacing | integer | Horizontal distance between leaf columns. Default 320. |
verticalSpacing | integer | Vertical 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 }.
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
parent | string | Parent composite; empty = root composite. |
index | integer | Child index; -1 appends (put it before patrol branches under a selector). Default -1. |
prefix | string | Name prefix of the created nodes. Default TEXT("Chase"). |
targetKey | string | required. Target actor key (object key). |
attackRange | number | Distance at which the attack starts, in cm. Default 150.0f. |
attackTask | string | Attack task class; empty uses a Wait of attackSeconds as a placeholder. |
attackSeconds | number | Placeholder attack duration in seconds. Default 1.0f. |
abortMode | string | Abort 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).
| Argument | Type | Description |
|---|---|---|
folder | string | required. Content folder under /Game. |
name | string | required. Bare asset name. |
blackboard | string | Optional 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.
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
parent | string | Parent composite for add or move operations; empty addresses the root composite. |
node | string | Existing node (ID, root path or name) for get, remove, move, duplicate, or property operations. |
class | string | Native or Blueprint BT node class for generic add operations. |
name | string | Name for a new or renamed node (unique in the tree). |
property | string | Reflected property name. |
value | string | Text-export value for a reflected property. |
index | integer | Child (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).
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. 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.
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
parent | string | Parent composite for add or move operations; empty addresses the root composite. |
node | string | Existing node (ID, root path or name) for get, remove, move, duplicate, or property operations. |
class | string | Native or Blueprint BT node class for generic add operations. |
name | string | Name for a new or renamed node (unique in the tree). |
property | string | Reflected property name. |
value | string | Text-export value for a reflected property. |
index | integer | Child (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.
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. 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.
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
node | string | required. 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.
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
parent | string | Parent composite for add or move operations; empty addresses the root composite. |
node | string | Existing node (ID, root path or name) for get, remove, move, duplicate, or property operations. |
class | string | Native or Blueprint BT node class for generic add operations. |
name | string | Name for a new or renamed node (unique in the tree). |
property | string | Reflected property name. |
value | string | Text-export value for a reflected property. |
index | integer | Child (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).
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
parent | string | Parent composite for add or move operations; empty addresses the root composite. |
node | string | Existing node (ID, root path or name) for get, remove, move, duplicate, or property operations. |
class | string | Native or Blueprint BT node class for generic add operations. |
name | string | Name for a new or renamed node (unique in the tree). |
property | string | Reflected property name. |
value | string | Text-export value for a reflected property. |
index | integer | Child (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.
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. 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).
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Target Behavior Tree asset (its runtime tree is replaced). |
nodes | array of UeaAiBtSpecNode | required. Nodes as returned by ai.bt_export. |
blackboard | string | Optional 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 }.
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
parent | string | Parent composite; empty = root composite. |
index | integer | Child index; -1 appends. Default -1. |
prefix | string | Name prefix of the created nodes. Default TEXT("Investigate"). |
locationKey | string | required. Location to investigate (vector or object key). |
conditionKey | string | Optional bool key that must be set (e.g. IsAlert). |
acceptableRadius | number | Acceptable radius of the move in cm. Default 100.0f. |
lookSeconds | number | Time 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).
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. 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).
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. 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.
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
parent | string | Parent composite for add or move operations; empty addresses the root composite. |
node | string | Existing node (ID, root path or name) for get, remove, move, duplicate, or property operations. |
class | string | Native or Blueprint BT node class for generic add operations. |
name | string | Name for a new or renamed node (unique in the tree). |
property | string | Reflected property name. |
value | string | Text-export value for a reflected property. |
index | integer | Child (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 }.
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
parent | string | Parent composite; empty = root composite. |
index | integer | Child index; -1 appends. Default -1. |
prefix | string | Name prefix of the created nodes. Default TEXT("Patrol"). |
locationKey | string | required. Patrol location key (vector or object). |
acceptableRadius | number | Acceptable radius of the move in cm. Default 50.0f. |
waitSeconds | number | Wait 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.
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
parent | string | Parent composite for add or move operations; empty addresses the root composite. |
node | string | Existing node (ID, root path or name) for get, remove, move, duplicate, or property operations. |
class | string | Native or Blueprint BT node class for generic add operations. |
name | string | Name for a new or renamed node (unique in the tree). |
property | string | Reflected property name. |
value | string | Text-export value for a reflected property. |
index | integer | Child (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.
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
node | string | required. Decorator (ID, root path or name). |
abortMode | string | required. 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.
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
blackboard | string | required. 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).
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
node | string | required. Node (ID, root path or name). |
property | string | required. Key selector property (e.g. BlackboardKey, ConeOrigin, EQSRequest.EQSQueryBlackboardKey). |
key | string | required. 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.
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
node | string | required. Decorated child (ID, root path or name). |
expression | string | Expression 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.
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
node | string | required. Node reference (ID, root path or name). |
property | string | required. Reflected property name (dotted paths enter structs). |
value | string | required. 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).
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
parent | string | Parent composite for add or move operations; empty addresses the root composite. |
node | string | Existing node (ID, root path or name) for get, remove, move, duplicate, or property operations. |
class | string | Native or Blueprint BT node class for generic add operations. |
name | string | Name for a new or renamed node (unique in the tree). |
property | string | Reflected property name. |
value | string | Text-export value for a reflected property. |
index | integer | Child (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).
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
parent | string | Parent composite for add or move operations; empty addresses the root composite. |
node | string | Existing node (ID, root path or name) for get, remove, move, duplicate, or property operations. |
class | string | Native or Blueprint BT node class for generic add operations. |
name | string | Name for a new or renamed node (unique in the tree). |
property | string | Reflected property name. |
value | string | Text-export value for a reflected property. |
index | integer | Child (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).
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
parent | string | Parent composite for add or move operations; empty addresses the root composite. |
node | string | Existing node (ID, root path or name) for get, remove, move, duplicate, or property operations. |
class | string | Native or Blueprint BT node class for generic add operations. |
name | string | Name for a new or renamed node (unique in the tree). |
property | string | Reflected property name. |
value | string | Text-export value for a reflected property. |
index | integer | Child (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.
| Argument | Type | Description |
|---|---|---|
behaviorTree | string | required. Behavior Tree asset path or unique name. |
parent | string | Parent composite for add or move operations; empty addresses the root composite. |
node | string | Existing node (ID, root path or name) for get, remove, move, duplicate, or property operations. |
class | string | Native or Blueprint BT node class for generic add operations. |
name | string | Name for a new or renamed node (unique in the tree). |
property | string | Reflected property name. |
value | string | Text-export value for a reflected property. |
index | integer | Child (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.
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller label, name, or class: |
key | string | required. Blackboard key name. |
type | string | required. bool, int, float, string, name, vector, rotator, enum, object or class. |
value | string | Text 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.
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller actor path, label, or unique name. |
target | string | Pawn, target actor, or behavior tree reference as required by the action. |
location | {x,y,z} | World-space destination for movement. |
acceptanceRadius | number | Acceptance radius in centimeters; negative uses the engine default. Default -1.f. |
key | string | Blackboard key for the typed value action. |
type | string | bool, int, float, string, name, vector, rotator, object, class, or enum. |
value | string | Text value for scalar and name types. |
priority | string | Focus 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).
| Argument | Type | Description |
|---|---|---|
folder | string | required. 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.
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller label, name, or class: |
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.
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
class | string | Generator, test, or context class path. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index within option. Default 0. |
index | integer | Destination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1. |
property | string | Reflected property name on the option generator or test. |
value | string | Text-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.
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
class | string | Generator, test, or context class path. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index within option. Default 0. |
index | integer | Destination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1. |
property | string | Reflected property name on the option generator or test. |
value | string | Text-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).
| Argument | Type | Description |
|---|---|---|
folder | string | Content folder to audit. Default TEXT("/Game"). |
recursive | boolean | Include subfolders. Default true. |
Returns: queries, count, withIssues, message.
ai.eqs_audit_options (risk 0, smoke)
Reports options without a generator and options without tests.
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
class | string | Generator, test, or context class path. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index within option. Default 0. |
index | integer | Destination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1. |
property | string | Reflected property name on the option generator or test. |
value | string | Text-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.
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
class | string | Generator, test, or context class path. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index within option. Default 0. |
index | integer | Destination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1. |
property | string | Reflected property name on the option generator or test. |
value | string | Text-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.
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
option | integer | Zero-based option index; its generator must be ActorsOfClass. Default 0. |
searchedActorClass | string | required. Actor class to collect (path or unique name). |
searchRadius | number | Search radius in cm (> 0). Default 2000.f. |
onlyInRadius | boolean | Only generate actors inside the radius. Default true. |
searchCenter | string | Context 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).
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
option | integer | Zero-based option index; its generator must be OnCircle. Default 0. |
radius | number | Circle radius in cm (> 0). Default 500.f. |
numberOfPoints | integer | When > 0 the points are spaced by count (ByNumberOfPoints); otherwise by spaceBetween. Default 0. |
spaceBetween | number | Distance between points in cm when numberOfPoints is 0 (> 0). Default 100.f. |
circleCenter | string | Context at the circle centre; empty keeps the current one. |
arcAngle | number | Arc 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.
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
option | integer | Zero-based option index; its generator must be Cone. Default 0. |
coneDegrees | number | Cone angle in degrees (0..359). Default 90.f. |
range | number | Cone length in cm (> 0). Default 1000.f. |
angleStep | number | Angle between generated lines in degrees (> 0). Default 10.f. |
alignedPointsDistance | number | Distance between points on each line in cm (> 0). Default 100.f. |
centerActor | string | Context 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).
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
option | integer | Zero-based option index; its generator must be CurrentLocation. Default 0. |
queryContext | string | required. 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).
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index; the test must be EnvQueryTest_Distance. Default 0. |
testMode | string | Distance3D, Distance2D, DistanceZ or DistanceAbsoluteZ. Default TEXT("Distance3D"). |
distanceTo | string | Context 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.
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
option | integer | Zero-based option index; its generator must be Donut. Default 0. |
innerRadius | number | Inner radius in cm (>= 0). Default 300.f. |
outerRadius | number | Outer radius in cm (> innerRadius). Default 1000.f. |
numberOfRings | integer | Number of rings (>= 1). Default 3. |
pointsPerRing | integer | Points per ring (>= 1). Default 8. |
center | string | Context 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).
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index; the test must be EnvQueryTest_Dot. Default 0. |
lineAFrom | string | Line A start context; empty keeps. |
lineATo | string | Line A end context; empty keeps. |
lineBFrom | string | Line B start context; empty keeps. |
lineBTo | string | Line B end context; empty keeps. |
testMode | string | Dot3D or Dot2D. Default TEXT("Dot3D"). |
absoluteValue | boolean | Use 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).
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
option | integer | Zero-based option index; its generator must be a SimpleGrid (or subclass). Default 0. |
gridSize | number | Half extent of the square grid in cm (> 0). Default 1000.f. |
spaceBetween | number | Distance between grid points in cm (> 0). Default 100.f. |
generateAround | string | Context 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).
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index; the test must be EnvQueryTest_Overlap. Default 0. |
shape | string | Box, 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). |
channel | string | Collision channel (ECC_WorldStatic, ECC_WorldDynamic, ECC_Pawn, ECC_Visibility...); empty keeps the current channel. |
onlyBlockingHits | boolean | Count blocking hits only. Default true. |
overlapComplex | boolean | Overlap complex collision. Default false. |
skipOverlapQuerier | boolean | Ignore the querier in the overlap. Default true. |
expectOverlap | boolean | Expected 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).
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index; the test must be EnvQueryTest_Pathfinding. Default 0. |
testMode | string | PathExist, PathCost or PathLength. Default TEXT("PathExist"). |
context | string | Context the path goes to or from; empty keeps the current one. |
pathFromContext | boolean | Path from the context to the item (false: item to context). Default true. |
skipUnreachable | boolean | Discard 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).
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
option | integer | Zero-based option index; its generator must be PathingGrid. Default 0. |
pathToItem | boolean | true: path from context to items; false: from items to context. Default true. |
scanRangeMultiplier | number | Multiplier of the navigation scan range (> 0). Default 1.5f. |
navigationFilter | string | UNavigationQueryFilter 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).
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index; the test must be EnvQueryTest_Project. Default 0. |
traceMode | string | required. EEnvQueryTrace value (None, Navigation, NavigationOverLedges, Geometry on 4.27, GeometryByChannel/GeometryByProfile on 5.x). |
projectDown | number | Downward projection distance in cm. Default 1024.f. |
projectUp | number | Upward 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).
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index; the test must be EnvQueryTest_Trace. Default 0. |
context | string | Context traced to or from; empty keeps the current one. |
traceFromContext | boolean | Trace from the context towards the item (false: from the item). Default true. |
itemHeightOffset | number | Item height offset in cm. Default 0.f. |
contextHeightOffset | number | Context height offset in cm. Default 0.f. |
traceShape | string | Line, Box, Sphere or Capsule. Default TEXT("Line"). |
expectHit | boolean | Expected 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.
| Argument | Type | Description |
|---|---|---|
query | string | required. New /Game package path of the query (must not exist). |
radius | number | Grid half extent (cover, nearest reachable) or circle radius (points around target) in cm. Default 1000.f. |
spaceBetween | number | Point spacing in cm (grid recipes). Default 150.f. |
numberOfPoints | integer | Number of points on the circle (points around target). Default 12. |
targetContext | string | Context 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.
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
class | string | Generator, test, or context class path. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index within option. Default 0. |
index | integer | Destination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1. |
property | string | Reflected property name on the option generator or test. |
value | string | Text-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.
| Argument | Type | Description |
|---|---|---|
folder | string | required. Content folder under /Game. |
name | string | required. 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.
| Argument | Type | Description |
|---|---|---|
folder | string | required. Content folder under /Game. |
name | string | required. Blueprint asset name. |
Returns: blueprint, generatedClass, parentClass, message.
ai.eqs_delete (risk 3, mutates, destructive, smoke)
Deletes the query asset.
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
class | string | Generator, test, or context class path. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index within option. Default 0. |
index | integer | Destination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1. |
property | string | Reflected property name on the option generator or test. |
value | string | Text-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.
| Argument | Type | Description |
|---|---|---|
query | string | required. Source EQS query asset path or unique name. |
newPath | string | required. 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.
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
option | integer | Zero-based option index to copy. Default 0. |
index | integer | Insert 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).
| Argument | Type | Description |
|---|---|---|
query | string | required. 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.
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
class | string | Generator, test, or context class path. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index within option. Default 0. |
index | integer | Destination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1. |
property | string | Reflected property name on the option generator or test. |
value | string | Text-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.
| Argument | Type | Description |
|---|---|---|
query | string | required. 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.
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
class | string | Generator, test, or context class path. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index within option. Default 0. |
index | integer | Destination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1. |
property | string | Reflected property name on the option generator or test. |
value | string | Text-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.
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
class | string | Generator, test, or context class path. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index within option. Default 0. |
index | integer | Destination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1. |
property | string | Reflected property name on the option generator or test. |
value | string | Text-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.
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
class | string | Generator, test, or context class path. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index within option. Default 0. |
index | integer | Destination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1. |
property | string | Reflected property name on the option generator or test. |
value | string | Text-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.
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
class | string | Generator, test, or context class path. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index within option. Default 0. |
index | integer | Destination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1. |
property | string | Reflected property name on the option generator or test. |
value | string | Text-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).
| Argument | Type | Description |
|---|---|---|
query | string | required. /Game package path of the query to build. |
options | array of UeaAiEqsOptionSpec | required. Options in execution order (the ai.eqs_export format). |
replace | boolean | When 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.
| Argument | Type | Description |
|---|---|---|
folder | string | Content folder to search. Default TEXT("/Game"). |
recursive | boolean | Search subfolders. Default true. |
Returns: queries, count, message.
ai.eqs_list_context_classes (risk 0, smoke)
Lists concrete context classes (Querier, Item, loaded Blueprint contexts).
| Argument | Type | Description |
|---|---|---|
query | string | required. 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).
| Argument | Type | Description |
|---|---|---|
query | string | required. 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.
| Argument | Type | Description |
|---|---|---|
query | string | required. 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).
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
class | string | Generator, test, or context class path. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index within option. Default 0. |
index | integer | Destination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1. |
property | string | Reflected property name on the option generator or test. |
value | string | Text-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.
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
class | string | Generator, test, or context class path. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index within option. Default 0. |
index | integer | Destination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1. |
property | string | Reflected property name on the option generator or test. |
value | string | Text-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.
| Argument | Type | Description |
|---|---|---|
query | string | required. New /Game package path of the query (must not exist). |
radius | number | Grid half extent (cover, nearest reachable) or circle radius (points around target) in cm. Default 1000.f. |
spaceBetween | number | Point spacing in cm (grid recipes). Default 150.f. |
numberOfPoints | integer | Number of points on the circle (points around target). Default 12. |
targetContext | string | Context 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.
| Argument | Type | Description |
|---|---|---|
query | string | required. New /Game package path of the query (must not exist). |
radius | number | Grid half extent (cover, nearest reachable) or circle radius (points around target) in cm. Default 1000.f. |
spaceBetween | number | Point spacing in cm (grid recipes). Default 150.f. |
numberOfPoints | integer | Number of points on the circle (points around target). Default 12. |
targetContext | string | Context 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.
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
class | string | Generator, test, or context class path. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index within option. Default 0. |
index | integer | Destination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1. |
property | string | Reflected property name on the option generator or test. |
value | string | Text-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.
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
class | string | Generator, test, or context class path. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index within option. Default 0. |
index | integer | Destination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1. |
property | string | Reflected property name on the option generator or test. |
value | string | Text-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).
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
class | string | Generator, test, or context class path. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index within option. Default 0. |
index | integer | Destination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1. |
property | string | Reflected property name on the option generator or test. |
value | string | Text-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.
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
querier | string | required. Querier actor (label, name, or class: |
runMode | string | SingleResult, RandomBest5Pct, RandomBest25Pct or AllMatching. Default TEXT("AllMatching"). |
maxItems | integer | Maximum 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
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index; -1 targets the option's generator. Default -1. |
property | string | required. Context property name or dotted path (GenerateAround, CircleCenter, DistanceTo, Context, LineA.LineFrom...). |
context | string | required. 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).
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
class | string | Generator, test, or context class path. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index within option. Default 0. |
index | integer | Destination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1. |
property | string | Reflected property name on the option generator or test. |
value | string | Text-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.
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
option | integer | Zero-based option index; its generator must derive from EnvQueryGenerator_ProjectedPoints. Default 0. |
traceMode | string | required. EEnvQueryTrace value: None, Navigation, NavigationOverLedges, and Geometry (4.27) or GeometryByChannel/GeometryByProfile (5.x). |
projectDown | number | Downward projection distance in cm. Default 1024.f. |
projectUp | number | Upward projection distance in cm. Default 1024.f. |
postProjectionVerticalOffset | number | Vertical 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+.
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
strip | boolean | Do 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).
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
class | string | Generator, test, or context class path. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index within option. Default 0. |
index | integer | Destination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1. |
property | string | Reflected property name on the option generator or test. |
value | string | Text-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.
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index. Default 0. |
filterType | string | required. Minimum, Maximum or Range for float tests; Match for bool tests. |
min | number | Lower bound (Minimum, Range). Default 0.f. |
max | number | Upper bound (Maximum, Range). Default 0.f. |
match | boolean | Expected value for Match (bool tests such as Trace or Pathfinding PathExist). Default true. |
purpose | string | Filter, 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.
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index. Default 0. |
purpose | string | Filter, Score or FilterAndScore. |
scoringEquation | string | Linear, Square, InverseLinear, SquareRoot or Constant. |
scoringFactor | number | Weight (> 0); 0 keeps the current value. Default 0.f. |
clampMinType | string | None, SpecifiedValue or FilterThreshold; SpecifiedValue uses scoreClampMin. |
clampMaxType | string | None, SpecifiedValue or FilterThreshold; SpecifiedValue uses scoreClampMax. |
scoreClampMin | number | Lower clamp value when clampMinType is SpecifiedValue. Default 0.f. |
scoreClampMax | number | Upper clamp value when clampMaxType is SpecifiedValue. Default 0.f. |
comment | string | Designer 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.
| Argument | Type | Description |
|---|---|---|
query | string | required. 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).
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
class | string | Generator, test, or context class path. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index within option. Default 0. |
index | integer | Destination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1. |
property | string | Reflected property name on the option generator or test. |
value | string | Text-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).
| Argument | Type | Description |
|---|---|---|
query | string | required. EQS query asset path or unique name. |
class | string | Generator, test, or context class path. |
option | integer | Zero-based option index. Default 0. |
test | integer | Zero-based test index within option. Default 0. |
index | integer | Destination index for insert/reorder operations; -1 appends (insert) and is invalid for moves. Default -1. |
property | string | Reflected property name on the option generator or test. |
value | string | Text-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.
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller label, name, or class: |
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.
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller actor path, label, or unique name. |
target | string | Pawn, target actor, or behavior tree reference as required by the action. |
location | {x,y,z} | World-space destination for movement. |
acceptanceRadius | number | Acceptance radius in centimeters; negative uses the engine default. Default -1.f. |
key | string | Blackboard key for the typed value action. |
type | string | bool, int, float, string, name, vector, rotator, object, class, or enum. |
value | string | Text value for scalar and name types. |
priority | string | Focus 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.
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller label, name, or class: |
Returns: controller, blackboard, keys, count, message.
ai.get_brain_component (risk 0, requires PIE, smoke)
Returns the brain component.
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller actor path, label, or unique name. |
target | string | Pawn, target actor, or behavior tree reference as required by the action. |
location | {x,y,z} | World-space destination for movement. |
acceptanceRadius | number | Acceptance radius in centimeters; negative uses the engine default. Default -1.f. |
key | string | Blackboard key for the typed value action. |
type | string | bool, int, float, string, name, vector, rotator, object, class, or enum. |
value | string | Text value for scalar and name types. |
priority | string | Focus 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.
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller actor path, label, or unique name. |
target | string | Pawn, target actor, or behavior tree reference as required by the action. |
location | {x,y,z} | World-space destination for movement. |
acceptanceRadius | number | Acceptance radius in centimeters; negative uses the engine default. Default -1.f. |
key | string | Blackboard key for the typed value action. |
type | string | bool, int, float, string, name, vector, rotator, object, class, or enum. |
value | string | Text value for scalar and name types. |
priority | string | Focus 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).
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller label, name, or class: |
Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.
ai.get_controller_location (risk 0, requires PIE, smoke)
Returns the pawn location.
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller actor path, label, or unique name. |
target | string | Pawn, target actor, or behavior tree reference as required by the action. |
location | {x,y,z} | World-space destination for movement. |
acceptanceRadius | number | Acceptance radius in centimeters; negative uses the engine default. Default -1.f. |
key | string | Blackboard key for the typed value action. |
type | string | bool, int, float, string, name, vector, rotator, object, class, or enum. |
value | string | Text value for scalar and name types. |
priority | string | Focus 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.
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller actor path, label, or unique name. |
target | string | Pawn, target actor, or behavior tree reference as required by the action. |
location | {x,y,z} | World-space destination for movement. |
acceptanceRadius | number | Acceptance radius in centimeters; negative uses the engine default. Default -1.f. |
key | string | Blackboard key for the typed value action. |
type | string | bool, int, float, string, name, vector, rotator, object, class, or enum. |
value | string | Text value for scalar and name types. |
priority | string | Focus 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.
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller actor path, label, or unique name. |
target | string | Pawn, target actor, or behavior tree reference as required by the action. |
location | {x,y,z} | World-space destination for movement. |
acceptanceRadius | number | Acceptance radius in centimeters; negative uses the engine default. Default -1.f. |
key | string | Blackboard key for the typed value action. |
type | string | bool, int, float, string, name, vector, rotator, object, class, or enum. |
value | string | Text value for scalar and name types. |
priority | string | Focus 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.
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller actor path, label, or unique name. |
target | string | Pawn, target actor, or behavior tree reference as required by the action. |
location | {x,y,z} | World-space destination for movement. |
acceptanceRadius | number | Acceptance radius in centimeters; negative uses the engine default. Default -1.f. |
key | string | Blackboard key for the typed value action. |
type | string | bool, int, float, string, name, vector, rotator, object, class, or enum. |
value | string | Text value for scalar and name types. |
priority | string | Focus 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).
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller actor path, label, or unique name. |
target | string | Pawn, target actor, or behavior tree reference as required by the action. |
location | {x,y,z} | World-space destination for movement. |
acceptanceRadius | number | Acceptance radius in centimeters; negative uses the engine default. Default -1.f. |
key | string | Blackboard key for the typed value action. |
type | string | bool, int, float, string, name, vector, rotator, object, class, or enum. |
value | string | Text value for scalar and name types. |
priority | string | Focus 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.
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller actor path, label, or unique name. |
target | string | Pawn, target actor, or behavior tree reference as required by the action. |
location | {x,y,z} | World-space destination for movement. |
acceptanceRadius | number | Acceptance radius in centimeters; negative uses the engine default. Default -1.f. |
key | string | Blackboard key for the typed value action. |
type | string | bool, int, float, string, name, vector, rotator, object, class, or enum. |
value | string | Text value for scalar and name types. |
priority | string | Focus 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor label, name, or class: |
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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Observer actor (usually an AI controller) in PIE. |
target | string | required. 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).
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller actor path, label, or unique name. |
target | string | Pawn, target actor, or behavior tree reference as required by the action. |
location | {x,y,z} | World-space destination for movement. |
acceptanceRadius | number | Acceptance radius in centimeters; negative uses the engine default. Default -1.f. |
key | string | Blackboard key for the typed value action. |
type | string | bool, int, float, string, name, vector, rotator, object, class, or enum. |
value | string | Text value for scalar and name types. |
priority | string | Focus 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.
| Argument | Type | Description |
|---|---|---|
folder | string | Content folder to search. Default TEXT("/Game"). |
recursive | boolean | Search 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.
| Argument | Type | Description |
|---|---|---|
folder | string | Content folder to search. Default TEXT("/Game"). |
recursive | boolean | Search subfolders. Default true. |
Returns: assets, count, warnings, message.
ai.list_bt_decorator_classes (risk 0, smoke)
No description.
| Argument | Type | Description |
|---|---|---|
folder | string | Content folder to search. Default TEXT("/Game"). |
recursive | boolean | Search subfolders. Default true. |
Returns: assets, count, warnings, message.
ai.list_bt_service_classes (risk 0, smoke)
No description.
| Argument | Type | Description |
|---|---|---|
folder | string | Content folder to search. Default TEXT("/Game"). |
recursive | boolean | Search subfolders. Default true. |
Returns: assets, count, warnings, message.
ai.list_bt_task_classes (risk 0, smoke)
No description.
| Argument | Type | Description |
|---|---|---|
folder | string | Content folder to search. Default TEXT("/Game"). |
recursive | boolean | Search 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.
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller actor path, label, or unique name. |
target | string | Pawn, target actor, or behavior tree reference as required by the action. |
location | {x,y,z} | World-space destination for movement. |
acceptanceRadius | number | Acceptance radius in centimeters; negative uses the engine default. Default -1.f. |
key | string | Blackboard key for the typed value action. |
type | string | bool, int, float, string, name, vector, rotator, object, class, or enum. |
value | string | Text value for scalar and name types. |
priority | string | Focus 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.
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller actor path, label, or unique name. |
target | string | Pawn, target actor, or behavior tree reference as required by the action. |
location | {x,y,z} | World-space destination for movement. |
acceptanceRadius | number | Acceptance radius in centimeters; negative uses the engine default. Default -1.f. |
key | string | Blackboard key for the typed value action. |
type | string | bool, int, float, string, name, vector, rotator, object, class, or enum. |
value | string | Text value for scalar and name types. |
priority | string | Focus 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor label, name, or class: |
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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor containing the AI Perception component. |
class | string | UAISenseConfig subclass for an add operation. |
sense | string | Sense-config class or implementation-sense class to select. |
property | string | Reflected setting on the selected config. |
value | string | Text-export value for the setting. |
target | string | Stimulus target actor for runtime reporting. |
strength | number | Loudness 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor containing the AI Perception component. |
class | string | UAISenseConfig subclass for an add operation. |
sense | string | Sense-config class or implementation-sense class to select. |
property | string | Reflected setting on the selected config. |
value | string | Text-export value for the setting. |
target | string | Stimulus target actor for runtime reporting. |
strength | number | Loudness 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor containing the AI Perception component. |
class | string | UAISenseConfig subclass for an add operation. |
sense | string | Sense-config class or implementation-sense class to select. |
property | string | Reflected setting on the selected config. |
value | string | Text-export value for the setting. |
target | string | Stimulus target actor for runtime reporting. |
strength | number | Loudness 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor containing the AI Perception component. |
class | string | UAISenseConfig subclass for an add operation. |
sense | string | Sense-config class or implementation-sense class to select. |
property | string | Reflected setting on the selected config. |
value | string | Text-export value for the setting. |
target | string | Stimulus target actor for runtime reporting. |
strength | number | Loudness 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor containing the AI Perception component. |
class | string | UAISenseConfig subclass for an add operation. |
sense | string | Sense-config class or implementation-sense class to select. |
property | string | Reflected setting on the selected config. |
value | string | Text-export value for the setting. |
target | string | Stimulus target actor for runtime reporting. |
strength | number | Loudness 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor containing the AI Perception component. |
class | string | UAISenseConfig subclass for an add operation. |
sense | string | Sense-config class or implementation-sense class to select. |
property | string | Reflected setting on the selected config. |
value | string | Text-export value for the setting. |
target | string | Stimulus target actor for runtime reporting. |
strength | number | Loudness 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor containing the AI Perception component. |
class | string | UAISenseConfig subclass for an add operation. |
sense | string | Sense-config class or implementation-sense class to select. |
property | string | Reflected setting on the selected config. |
value | string | Text-export value for the setting. |
target | string | Stimulus target actor for runtime reporting. |
strength | number | Loudness 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor label, name, or class: |
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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor with the AIPerception component. |
hearingRange | number | Hearing range in cm (> 0). Default 3000.f. |
maxAge | number | Seconds a noise is remembered; 0 = forever. Default 5.f. |
affiliation | UeaAiPerceptionAffiliation | Who is detected. |
dominant | boolean | Make 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor with the AIPerception component. |
sightRadius | number | Radius in cm at which targets are first seen (> 0). Default 3000.f. |
loseSightRadius | number | Radius in cm at which seen targets are lost (>= sightRadius). Default 3500.f. |
peripheralVisionAngle | number | Half angle of the vision cone in degrees (0..180). Default 90.f. |
maxAge | number | Seconds a sighting is remembered; 0 = forever. Default 5.f. |
autoSuccessRange | number | Auto-success range from the last seen location in cm; negative disables it. Default -1.f. |
affiliation | UeaAiPerceptionAffiliation | Who is detected. |
dominant | boolean | Make 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor containing the AI Perception component. |
class | string | UAISenseConfig subclass for an add operation. |
sense | string | Sense-config class or implementation-sense class to select. |
property | string | Reflected setting on the selected config. |
value | string | Text-export value for the setting. |
target | string | Stimulus target actor for runtime reporting. |
strength | number | Loudness 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor containing the AI Perception component. |
class | string | UAISenseConfig subclass for an add operation. |
sense | string | Sense-config class or implementation-sense class to select. |
property | string | Reflected setting on the selected config. |
value | string | Text-export value for the setting. |
target | string | Stimulus target actor for runtime reporting. |
strength | number | Loudness 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor label, name, or class: |
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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor containing the AI Perception component. |
class | string | UAISenseConfig subclass for an add operation. |
sense | string | Sense-config class or implementation-sense class to select. |
property | string | Reflected setting on the selected config. |
value | string | Text-export value for the setting. |
target | string | Stimulus target actor for runtime reporting. |
strength | number | Loudness 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor containing the AI Perception component. |
class | string | UAISenseConfig subclass for an add operation. |
sense | string | Sense-config class or implementation-sense class to select. |
property | string | Reflected setting on the selected config. |
value | string | Text-export value for the setting. |
target | string | Stimulus target actor for runtime reporting. |
strength | number | Loudness 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor containing the AI Perception component. |
class | string | UAISenseConfig subclass for an add operation. |
sense | string | Sense-config class or implementation-sense class to select. |
property | string | Reflected setting on the selected config. |
value | string | Text-export value for the setting. |
target | string | Stimulus target actor for runtime reporting. |
strength | number | Loudness 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor containing the AI Perception component. |
class | string | UAISenseConfig subclass for an add operation. |
sense | string | Sense-config class or implementation-sense class to select. |
property | string | Reflected setting on the selected config. |
value | string | Text-export value for the setting. |
target | string | Stimulus target actor for runtime reporting. |
strength | number | Loudness 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor containing the AI Perception component. |
class | string | UAISenseConfig subclass for an add operation. |
sense | string | Sense-config class or implementation-sense class to select. |
property | string | Reflected setting on the selected config. |
value | string | Text-export value for the setting. |
target | string | Stimulus target actor for runtime reporting. |
strength | number | Loudness 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor with the AIPerception component. |
sense | string | required. 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor label, name, or class: |
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+.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor containing the AI Perception component. |
class | string | UAISenseConfig subclass for an add operation. |
sense | string | Sense-config class or implementation-sense class to select. |
property | string | Reflected setting on the selected config. |
value | string | Text-export value for the setting. |
target | string | Stimulus target actor for runtime reporting. |
strength | number | Loudness 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor containing the AI Perception component. |
class | string | UAISenseConfig subclass for an add operation. |
sense | string | Sense-config class or implementation-sense class to select. |
property | string | Reflected setting on the selected config. |
value | string | Text-export value for the setting. |
target | string | Stimulus target actor for runtime reporting. |
strength | number | Loudness 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor label, name, or class: |
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).
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor label, name, or class: |
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).
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor with the AIPerception component. |
sense | string | required. 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor containing the AI Perception component. |
class | string | UAISenseConfig subclass for an add operation. |
sense | string | Sense-config class or implementation-sense class to select. |
property | string | Reflected setting on the selected config. |
value | string | Text-export value for the setting. |
target | string | Stimulus target actor for runtime reporting. |
strength | number | Loudness 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor with the AIPerception component. |
sense | string | required. Config class name or path (Sight, Hearing, or Touch on 5.x). |
affiliation | UeaAiPerceptionAffiliation | Who 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).
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor containing the AI Perception component. |
class | string | UAISenseConfig subclass for an add operation. |
sense | string | Sense-config class or implementation-sense class to select. |
property | string | Reflected setting on the selected config. |
value | string | Text-export value for the setting. |
target | string | Stimulus target actor for runtime reporting. |
strength | number | Loudness 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor with the AIPerception component. |
sense | string | required. Config class name or path. |
maxAge | number | Seconds 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor containing the AI Perception component. |
class | string | UAISenseConfig subclass for an add operation. |
sense | string | Sense-config class or implementation-sense class to select. |
property | string | Reflected setting on the selected config. |
value | string | Text-export value for the setting. |
target | string | Stimulus target actor for runtime reporting. |
strength | number | Loudness 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor containing the AI Perception component. |
class | string | UAISenseConfig subclass for an add operation. |
sense | string | Sense-config class or implementation-sense class to select. |
property | string | Reflected setting on the selected config. |
value | string | Text-export value for the setting. |
target | string | Stimulus target actor for runtime reporting. |
strength | number | Loudness 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor with the AIPerception component. |
sense | string | required. Config class name or path. |
enabled | boolean | Sense 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor label, name, or class: |
Returns: actor, actorLabel, component, dominantSense, senses, senseConfigs, count, created, warnings, message.
ai.possess (risk 2, mutates, requires PIE, smoke)
Possesses a pawn (target).
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller actor path, label, or unique name. |
target | string | Pawn, target actor, or behavior tree reference as required by the action. |
location | {x,y,z} | World-space destination for movement. |
acceptanceRadius | number | Acceptance radius in centimeters; negative uses the engine default. Default -1.f. |
key | string | Blackboard key for the typed value action. |
type | string | bool, int, float, string, name, vector, rotator, object, class, or enum. |
value | string | Text value for scalar and name types. |
priority | string | Focus 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).
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor label, name, or class: |
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).
| Argument | Type | Description |
|---|---|---|
damaged | string | required. Damaged actor (label); its perception component receives the event. |
instigator | string | Instigator actor (label); empty = none. |
amount | number | Damage amount (stimulus strength). Default 10.f. |
location | {x,y,z} | Event location in cm; zero uses the instigator (or damaged) actor location. |
tag | string | Optional 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).
| Argument | Type | Description |
|---|---|---|
location | {x,y,z} | Noise location in cm. |
loudness | number | Loudness multiplier of the listeners' hearing range (> 0). Default 1.f. |
instigator | string | Actor that made the noise (label); empty = none. |
maxRange | number | Maximum range in cm; 0 = listeners' hearing range only. Default 0.f. |
tag | string | Optional 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+.
| Argument | Type | Description |
|---|---|---|
receiver | string | required. Actor that was touched (label); its perception component receives the event. |
other | string | required. 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).
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller actor path, label, or unique name. |
target | string | Pawn, target actor, or behavior tree reference as required by the action. |
location | {x,y,z} | World-space destination for movement. |
acceptanceRadius | number | Acceptance radius in centimeters; negative uses the engine default. Default -1.f. |
key | string | Blackboard key for the typed value action. |
type | string | bool, int, float, string, name, vector, rotator, object, class, or enum. |
value | string | Text value for scalar and name types. |
priority | string | Focus 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.
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller actor path, label, or unique name. |
target | string | Pawn, target actor, or behavior tree reference as required by the action. |
location | {x,y,z} | World-space destination for movement. |
acceptanceRadius | number | Acceptance radius in centimeters; negative uses the engine default. Default -1.f. |
key | string | Blackboard key for the typed value action. |
type | string | bool, int, float, string, name, vector, rotator, object, class, or enum. |
value | string | Text value for scalar and name types. |
priority | string | Focus 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.
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller actor path, label, or unique name. |
target | string | Pawn, target actor, or behavior tree reference as required by the action. |
location | {x,y,z} | World-space destination for movement. |
acceptanceRadius | number | Acceptance radius in centimeters; negative uses the engine default. Default -1.f. |
key | string | Blackboard key for the typed value action. |
type | string | bool, int, float, string, name, vector, rotator, object, class, or enum. |
value | string | Text value for scalar and name types. |
priority | string | Focus 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. AI controller or any actor owning an AIPerception component (PIE world). |
includeExpired | boolean | Include 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).
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller label, name, or class: |
key | string | required. Blackboard key name. |
type | string | required. bool, int, float, string, name, vector, rotator, enum, object or class. |
value | string | Text 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.
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller actor path, label, or unique name. |
target | string | Pawn, target actor, or behavior tree reference as required by the action. |
location | {x,y,z} | World-space destination for movement. |
acceptanceRadius | number | Acceptance radius in centimeters; negative uses the engine default. Default -1.f. |
key | string | Blackboard key for the typed value action. |
type | string | bool, int, float, string, name, vector, rotator, object, class, or enum. |
value | string | Text value for scalar and name types. |
priority | string | Focus 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).
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller actor path, label, or unique name. |
target | string | Pawn, target actor, or behavior tree reference as required by the action. |
location | {x,y,z} | World-space destination for movement. |
acceptanceRadius | number | Acceptance radius in centimeters; negative uses the engine default. Default -1.f. |
key | string | Blackboard key for the typed value action. |
type | string | bool, int, float, string, name, vector, rotator, object, class, or enum. |
value | string | Text value for scalar and name types. |
priority | string | Focus 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Pawn label or name in the editor world. |
controllerClass | string | AIController class path or name; empty keeps the current class. |
autoPossessAi | string | Disabled, 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).
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller label, name, or class: |
teamId | integer | Team 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.
| Argument | Type | Description |
|---|---|---|
definition | string | required. Smart Object definition asset path or unique asset name. |
slot | integer | Slot index. Default 0. |
behaviorClass | string | so_add_behavior_definition: concrete USmartObjectBehaviorDefinition class (see so_list_behavior_definition_classes). |
index | integer | so_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.
| Argument | Type | Description |
|---|---|---|
definition | string | required. Smart Object definition asset path or unique asset name. |
name | string | Optional 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+). |
activityTags | array of string | Slot 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).
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor label/name in the editor world, or 'class: |
definition | string | required. Smart Object definition asset path or unique asset name. |
spawnNew | boolean | Spawn 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.
| Argument | Type | Description |
|---|---|---|
definition | string | required. 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 '
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor label of the Smart Object in the PIE world. |
slot | integer | Slot index on that Smart Object. Default 0. |
priority | string | Claim 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).
| Argument | Type | Description |
|---|---|---|
folder | string | required. Content folder under /Game. |
name | string | required. 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.
| Argument | Type | Description |
|---|---|---|
definition | string | required. Source definition asset path or unique asset name. |
folder | string | required. Destination folder under /Game. |
name | string | required. 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.
| Argument | Type | Description |
|---|---|---|
location | {x,y,z} | Query center. |
radius | number | Query half extent in cm (box). Default 5000.f. |
activityTags | array of string | Slots must match any of these activity tags (empty = no activity requirement). |
behaviorClass | string | Only slots offering this behavior definition class. |
includeClaimed | boolean | Include slots that are already claimed. Default false. |
limit | integer | Maximum 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.
| Argument | Type | Description |
|---|---|---|
definition | string | required. 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).
| Argument | Type | Description |
|---|---|---|
definition | string | required. Smart Object definition asset path or unique asset name. |
slot | integer | Slot index returned by so_list_slots. Default 0. |
property | string | Reflected slot-definition property name (so_get/set_slot_property). |
value | string | Text-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.
| Argument | Type | Description |
|---|---|---|
definition | string | required. Smart Object definition asset path or unique asset name. |
slot | integer | Slot index returned by so_list_slots. Default 0. |
property | string | Reflected slot-definition property name (so_get/set_slot_property). |
value | string | Text-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.
| Argument | Type | Description |
|---|---|---|
folder | string | Content folder to list. Default TEXT("/Game"). |
recursive | boolean | Include 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).
| Argument | Type | Description |
|---|---|---|
definition | string | required. Smart Object definition asset path or unique asset name. |
slot | integer | Slot index returned by so_list_slots. Default 0. |
property | string | Reflected slot-definition property name (so_get/set_slot_property). |
value | string | Text-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.
| Argument | Type | Description |
|---|---|---|
definition | string | required. 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.
| Argument | Type | Description |
|---|---|---|
actor | string | Optional 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).
| Argument | Type | Description |
|---|---|---|
claim | string | required. Claim id returned by so_claim_slot (' |
behaviorClass | string | so_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.
| Argument | Type | Description |
|---|---|---|
definition | string | required. Smart Object definition asset path or unique asset name. |
slot | integer | Slot index. Default 0. |
behaviorClass | string | so_add_behavior_definition: concrete USmartObjectBehaviorDefinition class (see so_list_behavior_definition_classes). |
index | integer | so_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.
| Argument | Type | Description |
|---|---|---|
definition | string | required. Smart Object definition asset path or unique asset name. |
activityTags | array of string | Replace the definition activity tags with these. |
setActivityTags | boolean | Apply activityTags. Default false. |
userTagFilterAnyTags | array of string | User tag filter: users need any of these tags (empty clears the filter). |
setUserTagFilter | boolean | Apply 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).
| Argument | Type | Description |
|---|---|---|
definition | string | required. Smart Object definition asset path or unique asset name. |
slot | integer | required. Slot index. |
name | string | New slot name; empty keeps it. |
offset | {x,y,z} | New offset in cm (applied when setOffset is true). |
setOffset | boolean | Apply offset. Default false. |
rotation | {x,y,z} | New rotation pitch/yaw/roll (applied when setRotation is true). |
setRotation | boolean | Apply rotation. Default false. |
enabled | string | true/false enables/disables the slot; empty keeps it. |
activityTags | array of string | Replace the activity tags with these (empty array with setActivityTags=true clears them). |
setActivityTags | boolean | Apply activityTags. Default false. |
runtimeTags | array of string | Replace the initial runtime tags with these. |
setRuntimeTags | boolean | Apply runtimeTags. Default false. |
userTagFilterAnyTags | array of string | User tag filter: users need any of these tags (empty with setUserTagFilter=true clears the filter). |
setUserTagFilter | boolean | Apply 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).
| Argument | Type | Description |
|---|---|---|
definition | string | required. Smart Object definition asset path or unique asset name. |
slot | integer | Slot index returned by so_list_slots. Default 0. |
property | string | Reflected slot-definition property name (so_get/set_slot_property). |
value | string | Text-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).
| Argument | Type | Description |
|---|---|---|
label | string | required. Label of the new actor (must be unused). |
definition | string | Definition asset; leave empty with transientDefinition=true. |
transientDefinition | boolean | Build a transient definition (slotCount slots, one behaviorClass definition each) instead of using an asset. Default false. |
slotCount | integer | Slots of the transient definition (1-16). Default 1. |
behaviorClass | string | Behavior 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.
| Argument | Type | Description |
|---|---|---|
claim | string | required. Claim id returned by so_claim_slot (' |
behaviorClass | string | so_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+).
| Argument | Type | Description |
|---|---|---|
definition | string | required. 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.
| Argument | Type | Description |
|---|---|---|
label | string | Pawn label in the PIE world. Default TEXT("AiTestPawn"). |
controllerLabel | string | Controller label; empty uses label + "Controller". |
location | {x,y,z} | Spawn location in centimetres. |
pawnClass | string | Pawn class path or name; empty spawns a Character. |
controllerClass | string | AIController class path or name; empty spawns a plain AAIController. |
behaviorTree | string | Behavior Tree asset to run right away (optional). |
testTree | boolean | Build the transient test Blackboard + Behavior Tree (/Engine/Transient.BT_AiSmokeRuntime) without running it. Default false. |
perception | boolean | Give the controller an AIPerception component with sight, hearing and damage senses. Default false. |
stimuliSource | boolean | Give 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.
| Argument | Type | Description |
|---|---|---|
label | string | required. Actor label; must not already be used by another actor. |
location | {x,y,z} | Spawn location in centimetres. |
pawnClass | string | Pawn class path or name; empty spawns a plain Pawn. |
perception | boolean | Add an AIPerceptionComponent. Default true. |
stimuliSource | boolean | Add 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor that should be perceivable. |
senses | array of string | AISense classes to register for (AISense_Sight, /Script/AIModule.AISense_Hearing...). |
autoRegister | boolean | Register 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor label, name, or class: |
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).
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor with an AIPerceptionStimuliSource component (PIE world). |
sense | string | required. 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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor label, name, or class: |
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.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor with an AIPerceptionStimuliSource component (PIE world). |
sense | string | required. 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.
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller actor path, label, or unique name. |
target | string | Pawn, target actor, or behavior tree reference as required by the action. |
location | {x,y,z} | World-space destination for movement. |
acceptanceRadius | number | Acceptance radius in centimeters; negative uses the engine default. Default -1.f. |
key | string | Blackboard key for the typed value action. |
type | string | bool, int, float, string, name, vector, rotator, object, class, or enum. |
value | string | Text value for scalar and name types. |
priority | string | Focus 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.
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller actor path, label, or unique name. |
target | string | Pawn, target actor, or behavior tree reference as required by the action. |
location | {x,y,z} | World-space destination for movement. |
acceptanceRadius | number | Acceptance radius in centimeters; negative uses the engine default. Default -1.f. |
key | string | Blackboard key for the typed value action. |
type | string | bool, int, float, string, name, vector, rotator, object, class, or enum. |
value | string | Text value for scalar and name types. |
priority | string | Focus 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.
| Argument | Type | Description |
|---|---|---|
controller | string | required. AI controller actor path, label, or unique name. |
target | string | Pawn, target actor, or behavior tree reference as required by the action. |
location | {x,y,z} | World-space destination for movement. |
acceptanceRadius | number | Acceptance radius in centimeters; negative uses the engine default. Default -1.f. |
key | string | Blackboard key for the typed value action. |
type | string | bool, int, float, string, name, vector, rotator, object, class, or enum. |
value | string | Text value for scalar and name types. |
priority | string | Focus priority for focus tools: Default, Move or Gameplay. Default TEXT("Gameplay"). |
Returns: controller, blackboard, values, count, state, requestResult, moveRequestId, message.