add_blueprint_cast_node |
Adds a Cast node to the event graph (e.g. cast an overlap's OtherActor to a specific class before using it). Args: 'blueprint' (asset path), 'target_class' (the class to cast to — native name or Blueprint class path ending _C). Returns the node id and pins (Object in, As out, Cast Failed exec). |
add_blueprint_component |
Adds a component to a Blueprint's component hierarchy (SimpleConstructionScript). Args: 'blueprint' (asset path), 'component_class' (e.g. "StaticMeshComponent", "PointLightComponent"), 'name' (the new component's variable name). Recompiles the Blueprint. |
add_blueprint_event_node |
Adds an event node to a Blueprint's event graph. Args: 'blueprint' (asset path), 'event_name' (e.g. "ReceiveBeginPlay", "ReceiveTick", or any name when 'custom' is true), optional 'custom' (bool, default false — true makes a Custom Event), optional 'target_class' (for overrides; defaults to the Blueprint's parent). Returns the node id and pin names. |
add_blueprint_flow_node |
Adds a control-flow node to the event graph. Args: 'blueprint' (asset path), 'type' = "branch" (if/else) or "sequence" (run pins in order). Returns the node id and pins. For a Branch, set its 'Condition' input via connect_blueprint_pins or set_node_pin_default. |
add_blueprint_function_node |
Adds a function-call node to a Blueprint's event graph. Args: 'blueprint' (asset path), 'function' (function name, e.g. "PrintString", "SetActorLocation"), optional 'target_class' (class declaring the function, e.g. "KismetSystemLibrary"; defaults to the Blueprint's own class hierarchy). Returns the node id and pin names. |
add_blueprint_input_action_node |
Adds an Enhanced Input action event node to the event graph, so an Input Action drives Blueprint logic. Args: 'blueprint' (asset path — usually a Pawn/Character/PlayerController), 'action' (Input Action asset path). Returns the node id and its trigger pins (Triggered, Started, Completed, …, plus ActionValue). Pair with add_input_mapping to bind keys. |
add_blueprint_variable |
Adds a member variable to a Blueprint. Args: 'blueprint' (asset path), 'name', 'type' (one of: bool, byte, int, int64, float, string, name, text, vector, rotator, transform, color; or a class/struct path for object references), optional 'is_array' (default false), optional 'default_value' (Unreal text form). Recompiles the Blueprint. |
add_blueprint_variable_node |
Adds a variable node to the event graph. Args: 'blueprint' (asset path), 'variable' (an existing variable name), optional 'mode' = "get" (default) or "set". Returns the node id and pins so you can wire it with connect_blueprint_pins. |
add_component |
Adds a component to a level actor instance. Args: 'component_class' (e.g. "PointLightComponent", "AudioComponent", "BoxComponent"), 'name', optional 'actor_label' (else uses the selection). Scene components attach to the actor's root. Set its properties with set_actor_property (use the component name). |
add_input_mapping |
Maps a key to an Input Action in an Enhanced Input Mapping Context. Args: 'context' (Input Mapping Context asset path), 'action' (Input Action asset path), 'key' (e.g. "W", "SpaceBar", "Gamepad_FaceButton_Bottom", "LeftMouseButton"). Create the IA/IMC assets with create_asset (class "InputAction" / "InputMappingContext"). Saves the context. |
add_widget |
Adds a widget to a Widget Blueprint's tree. Args: 'widget_blueprint' (asset path), 'widget_class' (e.g. "Button", "TextBlock", "Image", "VerticalBox"), 'name', optional 'parent' (name of an existing panel widget to nest under; defaults to the root panel). Recompiles the Blueprint. |
anim_graph_add_node |
Adds a node to an Animation Blueprint's AnimGraph. Args: 'anim_blueprint' (path), 'node_type' one of "StateMachine" | "BlendSpacePlayer" | "SequencePlayer" | "Slot" | "VariableGet", optional 'asset' (a BlendSpace path for BlendSpacePlayer, or an AnimSequence path for SequencePlayer), optional 'variable' (member variable name for VariableGet), optional 'slot_name' (montage slot for Slot nodes, default "DefaultSlot"), optional 'state' (a state node id from anim_sm_add_state — adds the node inside that state's pose graph instead of the main AnimGraph), optional 'pos_x'/'pos_y'. Returns the node id (GUID) and its pins. The output-pose node already exists — reference it as "root". |
anim_graph_connect |
Connects two pins in an Animation Blueprint's AnimGraph. Args: 'anim_blueprint', 'from_node' and 'to_node' (each a node id from anim_graph_add_node, or "root" for the output-pose node), 'from_pin' and 'to_pin' (pin names; the output pose pin is "Pose", the Result node's input is "Result", BlendSpace axis inputs are "X"/"Y"), optional 'state' (a state node id — connect inside that state's pose graph). Wire a player's "Pose" into root "Result", and a Speed VariableGet into the player's "X". |
anim_graph_describe |
Lists the structure of an Animation Blueprint's AnimGraph so you can edit it idempotently. Args: 'anim_blueprint' (path), optional 'state' (a state node id or name — describe that state's pose graph instead of the main AnimGraph). Returns each node's id, type and pins, its outgoing pin links (the actual wiring), and any assigned BlendSpace/slot name; for a StateMachine node it also lists its states and transitions (with ids). Read-only. |
anim_sm_add_state |
Adds a state to a state machine in an Animation Blueprint. Args: 'anim_blueprint', 'state_machine' (a StateMachine node id or its name), 'name' (state name), optional 'entry' (bool — make this the machine's initial/default state by wiring the entry node to it), optional 'pos_x'/'pos_y'. Returns the state node id. Author the state's pose with anim_graph_add_node/anim_graph_connect using 'state' = this id (wire a player's "Pose" into "root"). |
anim_sm_add_transition |
Adds a transition between two states in a state machine. Args: 'anim_blueprint', 'state_machine' (node id or name), 'from_state' and 'to_state' (state node ids or names), optional 'blend_time' (crossfade seconds, default 0.2). Returns the transition id — set its rule with anim_sm_set_transition_rule (a transition with no rule never fires). |
anim_sm_set_transition_rule |
Sets a transition's rule (the condition that fires it). Args: 'anim_blueprint', 'transition' (id from anim_sm_add_transition), then either a single condition — 'variable' (member variable name), 'comparison' one of ">" "<" ">=" "<=" "==" "!=" (numeric) or "bool" (use a boolean variable directly), 'value' (number to compare against) — or a compound rule via 'conditions' (an array of {variable, comparison, value}) combined by 'logic' = "AND" (default) or "OR" (e.g. Speed > 10 AND !IsFalling). Builds the rule graph and recompiles; replaces any existing rule wiring. |
array_op |
Edits an array property. Root: 'asset' (path) or 'actor_label'. 'path' (required) = the array property (may itself be nested, e.g. "LevelUpInformation"). 'op' (required): 'add' (append empty), 'add_n' (append 'count' empties), 'remove' (at 'index'), 'clear', or 'size' (resize to 'count'). For assets, 'save' (default true). Requires editor mutations. Then set elements with set_property_path. |
batch |
Runs several tool calls in order in a single request (fewer round-trips for bulk work). Args: 'calls' (array of objects, each { "tool": name, "arguments": { ... } }), optional 'stop_on_error' (default false — continue past failures). Returns a numbered per-call result summary. Each sub-call still enforces its own safety gate. Image results are noted, not embedded. |
checkout_asset |
Makes an asset writable for saving: clears its read-only flag and (if source control is enabled) checks it out via the active provider. Use before save_asset when a save silently returns false. Arg: 'asset' (path, e.g. "/Game/Blueprints/BP_Foo"). |
compare_to_reference |
Compares the current viewport against a reference image. Args: 'reference' (required, image file path on disk), 'height' (composite height in px, default 400). Returns the two images side-by-side (reference left, current right) plus a rough pixel-similarity percentage. |
compile_blueprint |
Compiles a Blueprint asset and reports the resulting status (errors/warnings). Args: 'blueprint' (asset path). Call this after structural edits to validate the Blueprint. |
connect_blueprint_pins |
Connects two Blueprint node pins. Args: 'blueprint' (asset path), 'from_node' and 'to_node' (node ids from add_blueprint_*_node), 'from_pin' (an output pin name, e.g. "then") and 'to_pin' (an input pin name, e.g. "execute"). Use "then"/"execute" for exec flow. Recompiles the Blueprint. |
create_anim_blueprint |
Creates an Animation Blueprint asset bound to a skeleton (its AnimGraph is seeded automatically). Args: 'name', 'path' (content folder, e.g. "/Game/Animation"), 'skeleton' (USkeleton asset path), optional 'parent_class' (a UAnimInstance subclass — native class name or asset path; default UAnimInstance), optional 'save' (default true). Author its Event Graph with the add_blueprint_* node tools, then bind it with set_anim_class. |
create_asset |
Creates a new asset and saves it. Args: 'class' (required, asset class name or /Script path, e.g. "LevelUpInfo", "CurveTable", "DataAsset"), 'path' (required, content folder, e.g. "/Game/Blueprints/AbilitySystem/Data"), 'name' (required, asset name e.g. "DA_LevelUpInfo"), 'save' (bool, default true). Then use set_asset_property to populate it. Best for UDataAsset subclasses and CurveTables; Blueprints/Materials need their own factories. Requires editor mutations enabled. |
create_blendspace |
Creates a BlendSpace (1D or 2D) for locomotion. Args: 'name', 'path', 'skeleton' (USkeleton path), optional 'type' ("1D" default, or "2D"), 'axis_x' {name,min,max,grid} and (2D only) 'axis_y', and 'samples' — an array of {anim: , x: , y: }. Samples outside the axis range, or whose animation uses a different skeleton, are rejected (and reported). Optional 'smoothing' (target-weight interpolation speed/sec; 0 = instant) and 'save' (default true). Drive it from an AnimGraph BlendSpacePlayer node or reference it directly. |
create_blueprint |
Creates a new Blueprint class asset from a parent class (default Actor). Args: 'name', 'path' (content folder, e.g. "/Game/Blueprints"), optional 'parent_class' (native class name or asset path, default "Actor"), optional 'save' (default true). Use add_blueprint_component / add_blueprint_variable / compile_blueprint to flesh it out, or execute_python for node-graph logic. |
create_font |
Creates a runtime UFont asset from imported UFontFace assets (UMG TextBlocks need a UFont, not a FontFace; the Python API can't build the composite). Args: 'name' (required, e.g. "F_ChakraPetch"), 'path' (required content folder, e.g. "/Game/Assets/Fonts/Cyberpunk"), 'faces' (required array of {"typeface": , "fontface": }), 'save' (bool, default true). In UMG, set the TextBlock Font's FontObject to the created UFont and TypefaceFontName to one of the typeface names. Requires editor mutations enabled. |
create_pcg_graph |
|
create_state_tree |
Creates (or rebuilds) a StateTree asset, adds states/tasks/transitions/bindings, compiles and saves it. Args: 'path' (asset path, e.g. "/Game/AI/ST_Wander"), 'schema' (schema class, e.g. "MassStateTreeSchema"), 'states' (array of {name, tasks:[{struct, properties?}], transitions:[{trigger, type, to?}], children?}), 'bindings' (array of {source_state, source_task, source_path, target_state, target_task, target_path}). Task structs are resolved by name (e.g. "MassZoneGraphFindWanderTarget") or "/Script/Module.Struct" path. Transition triggers: OnStateCompleted|OnStateSucceeded|OnStateFailed|OnTick; types: GotoState|NextState|Succeeded|Failed. Property values are UE import-text strings (or plain numbers/bools). |
create_widget_blueprint |
Creates a UMG Widget Blueprint (game UI/HUD) with a root Canvas Panel. Args: 'name', 'path' (e.g. "/Game/UI"), optional 'parent_class' (default "UserWidget"), optional 'save' (default true). Add widgets with add_widget. |
delete_actor |
Deletes actors from the current level. Provide 'actor_label' (exact label; may match several), 'name_contains' (delete every outliner actor whose label contains this substring), or neither to delete the current selection. Undoable. Requires editor mutations to be enabled. |
describe_state_tree |
Describes a StateTree asset: its schema, state hierarchy, tasks (with set properties), transitions, property bindings, and last compile status. Args: 'path' (asset path). |
describe_widget |
Lists the full widget tree of a UMG Widget Blueprint so you can edit it precisely. Args: 'widget_blueprint' (asset path). Returns each widget indented by nesting, with its name, class, and — for widgets inside a panel — its layout slot type and editable slot properties (anchors, offsets, alignment, padding, size, fill). Read-only; pair with add_widget / set_widget_property. |
drop_to_ground |
Drops the selected actor(s) (or 'actor_label', or 'name_contains') straight down so their lowest point rests on the first surface below. Undoable. Requires editor mutations to be enabled. |
duplicate_actor |
Duplicates the selected actor (or 'actor_label'). Args: 'offset' {x,y,z} applied per copy, 'count' (number of copies, default 1). Great for repeating buildings/props. Undoable. Requires editor mutations enabled. |
exec_console_command |
Runs an Unreal console command and returns its console output (e.g. "stat fps", "r.ScreenPercentage 50", "show Collision", "DumpConsoleCommands"). Targets the running game when in play mode, otherwise the editor world. Output the command writes via UE_LOG (rather than to the console) appears in get_output_log instead. Requires 'Allow Console Commands' to be enabled in project settings. |
execute_python |
Executes a Python script in Unreal's embedded interpreter (the unreal module is available) and returns captured stdout/stderr and the final expression's value. Use this for anything without a dedicated tool — asset edits, reflection, bulk operations. Multi-line scripts are supported. Runs inside one undo transaction. Requires 'Allow Python Execution' to be enabled and the Python Editor Script Plugin. |
focus_camera_on_actor |
Aims the perspective viewport at the selected actor (or 'actor_label'), framing it using its bounds. Optional 'distance' (multiplier of the actor's size, default 2.5) and 'yaw'/'pitch' for the viewing angle in degrees. |
get_ability_system |
Dumps an actor's GAS state — attributes (base+current), active gameplay effects, granted abilities, owned gameplay tags. Reads the running PIE world if present, else the editor world. Args: 'actor' (name/label substring) OR 'player' (bool — use player pawn 0). |
get_actor_bounds |
Returns the world-space bounding box of the selected actor (or 'actor_label'): center, full size (x/y/z), min/max corners, and the pivot offset (geometry center minus actor location). Use to size and align meshes whose pivots are off-center. |
get_actor_details |
Returns transform, attachment, tags, and components for the selected actor(s) in the Unreal editor. Pass 'actor_label' to inspect a specific actor by its World Outliner label instead of the selection. |
get_actor_property |
Reads a property value from the selected actor or 'actor_label'. With 'property', returns that value; without it, lists all editor-visible properties and their values. Optional 'component' targets a named component instead of the actor. |
get_asset_properties |
Reads an asset's properties by reflection. Args: 'asset' (required, asset path, e.g. a UDataAsset), optional 'property' (a single property name; if omitted, lists all editor-visible properties and values). |
get_cvar |
Reads a console variable's current value and help text. Args: 'name' (e.g. "r.ScreenPercentage"). Read-only. |
get_last_crash |
Returns the most recent crash report from /Saved/Crashes: the error message, the parsed callstack (symbol + file:line where available), and a tail of the crash log. Optional arg 'log_tail_lines' (default 40, max 400). Reports 'no crashes found' if the Crashes dir is empty. |
get_material_params |
Lists a material's editable parameters and current values. Source: 'material' (asset path), or 'actor_label' (+ optional 'component', 'slot') to read the material on a mesh component slot. Use before set_material_param to learn the real parameter names. |
get_output_log |
Returns recent Unreal editor log lines (newest last). Optional args: 'count' (default 100, max 1000), 'contains' (substring filter), and 'min_verbosity' (one of all|display|warning|error; default all). |
get_selected_actors |
Returns the labels and classes of the actors currently selected in the Unreal editor viewport. |
import_asset |
Imports a source file from disk into the project. Args: 'source' (a file path, e.g. an .fbx/.png/.wav), 'destination' (content folder, e.g. "/Game/Meshes"), optional 'name', optional 'replace' (default false), optional 'save' (default true). Returns the imported asset path(s). Requires 'Allow Editor Mutations'. |
import_landscape |
Imports a 16-bit grayscale heightmap file (.png or .r16) into a new Landscape actor in the current editor level. Args: 'heightmap_path' (absolute path, required); optional 'location' {x,y,z} cm, 'scale' {x,y,z} (default {100,100,100}; x/y = cm per landscape quad, z where 100 => 512m of uint16 range), 'label', and 'flip_y' (bool, default false — set true if the terrain imports mirrored north/south). Component sizing is chosen automatically to encompass the heightmap. Undoable. Requires editor mutations enabled. |
inject_input |
Injects input into the running PIE game viewport. Arg 'actions': an ordered array of {type} steps — type "key": {key:"Enter"|"W"|..., event:"press"|"release"|"click"(default)}; type "mouse": {button:"left"|"right"|"middle", event:"press"|"release"|"click"(default), x,y:optional viewport pixels}; type "move": {x,y viewport pixels}. Routes through the game viewport (Enhanced Input + PlayerController cursor). NOTE: Slate/UMG drag-drop capture is not fully emulated — keyboard actions and world clicks/click-to-move work; test UMG drags manually. Requires PIE running. |
list_actors |
Lists actors in the current editor level with a class-count summary, mirroring the World Outliner. Optional filters: 'name_filter' (substring of the label), 'class_filter' (substring of the class name, e.g. "Light" or "Fog"), and 'limit' (default 200, max 1000). |
list_assets |
Searches the project's Asset Registry. Optional filters: 'class_filter' (asset type, e.g. "StaticMesh", "Material", "Blueprint", "SkeletalMesh"), 'name_filter' (substring of the asset name), 'path' (content path to search under, default "/Game"), and 'limit' (default 100, max 1000). Returns object paths usable with spawn_actor / set_actor_property. |
load_level |
Opens an existing level asset for editing, replacing the current level. Args: 'path' (e.g. "/Game/Maps/MyLevel"). Requires 'Allow Editor Mutations'. Not undoable. |
new_level |
Creates a new blank level and opens it for editing, replacing the current level. Optional 'path' (e.g. "/Game/Maps/MyLevel") saves the new level to that asset. Requires 'Allow Editor Mutations'. Not undoable. |
pcg_add_component |
|
pcg_add_node |
|
pcg_connect |
|
pcg_describe_graph |
|
pcg_generate |
|
pcg_set_node_property |
|
render_widget |
Renders a Widget Blueprint (UMG) to a PNG image so the agent can SEE the UI (take_screenshot can't — it only captures the 3D viewport, not Slate/UMG). Args: 'widget_blueprint' (asset path), optional 'live' (bool), 'width', 'height', 'max_width' (downscale, default 1280, max 4096). Default renders the STATIC design (fresh instance, no controller bound). With 'live'=true, captures the LIVE in-viewport instance during Play In Editor (real runtime/bound data, defaults to the game viewport resolution) — use this to debug the actual on-screen HUD. |
save_asset |
Saves an asset to disk, persisting any in-memory edits (e.g. after add_blueprint_node / add_blueprint_variable, which only mark the asset dirty). Args: 'asset' (asset path). |
save_level |
Saves the current editor level to disk, persisting the scene. Takes no arguments. |
scatter_actors |
Scatters StaticMeshActors over an area. Args: 'meshes' (array of static mesh paths, picked at random per instance), 'count', 'center' {x,y,z}, 'extent' {x,y} (half-size of the scatter box), 'scale_min'/'scale_max' (uniform scale range, default 1), 'random_yaw' (bool, default true), 'align_to_ground' (bool, default true), 'label_prefix' (default 'Scatter'). Undoable. Requires editor mutations enabled. |
screenshot_game |
Captures the running Play-In-Editor game viewport (gameplay camera + UMG HUD + debug draws) as a PNG. Errors if PIE is not running (use start_play_in_editor first). Optional arg 'max_width' (default 1280, max 4096). |
set_actor_folder |
Files actors into a World Outliner folder. Args: 'folder' (required, e.g. "AgentConduit/Buildings"; empty string moves to root), and either 'actor_label' (exact) or 'name_contains' (substring) to choose actors. |
set_actor_pose |
Sets a skeletal mesh actor's pose from an AnimSequence. Args: 'animation' (required, AnimSequence asset path), optional 'time' (seconds into the anim to freeze on, default 0), 'play' (bool, loop instead of freezing). Use to give mannequins a natural pose. Undoable. Requires editor mutations enabled. |
set_actor_property |
Sets a property (by name, via reflection) on the selected actor or 'actor_label'. Args: 'property' (required), 'value' (required; string/number/boolean map directly, struct types take Unreal text form e.g. "(X=1,Y=2,Z=3)"), optional 'component' to target a named component instead of the actor. Undoable. Requires editor mutations to be enabled. |
set_actor_transform |
Sets world location, rotation, and/or scale of the selected actor (or 'actor_label'). Each of 'location' {x,y,z}, 'rotation' {pitch,yaw,roll}, 'scale' {x,y,z} is optional; provide at least one. Omitted axes keep their current value. Undoable in the editor. Requires editor mutations to be enabled. |
set_anim_class |
Assigns an Animation Blueprint to a SkeletalMeshComponent. Args: 'anim_class' (an AnimBlueprint asset path, or a UAnimInstance class path), optional 'component' (component name; defaults to the first SkeletalMeshComponent), and a target: either 'target' (a Blueprint asset path — sets the component template's Anim Class and recompiles) or 'actor_label' / the current viewport selection (a level actor instance — calls SetAnimInstanceClass live). Save the owning asset/level afterwards to persist. |
set_asset_property |
Sets a property on an asset (e.g. a UDataAsset) by reflection. Args: 'asset' (required, path), 'property' (required), 'value' (required; string/number/boolean map directly, struct types take Unreal text form), 'save' (bool, default true — writes the .uasset to disk). Requires editor mutations enabled. Note: DataTables are not edited this way — they need row-level editing. |
set_blueprint_default |
Sets a default property on a Blueprint's CDO and recompiles. Args: 'blueprint' (required, BP asset path, e.g. "/Game/.../BP_AuraPlayerState.BP_AuraPlayerState"), 'property' (required), 'value' (required; string/number/boolean or asset path for object refs), 'save' (default true). Requires editor mutations enabled. |
set_component_property |
Sets a property on a named component of a level actor. Args: 'component' (the component name, e.g. "PointLight"), 'property' (dotted path, e.g. "Intensity", "LightColor", "Sound"), 'value' (string/number/bool, or an asset path for object references like a Sound/Texture), optional 'actor_label' (else uses the selection). Use add_component to create the component first. |
set_curve_table_row |
Sets a row of a CurveTable to a rich curve of keys. Args: 'curve_table' (required, path), 'row' (required, row name e.g. "XP_Bruiser"), 'keys' (required, array of {x,y} points, e.g. [{"x":1,"y":0},{"x":2,"y":100}] for level→XP), 'interp' ("linear"|"constant"|"cubic", default linear), 'save' (default true). Replaces the row if it exists. Requires editor mutations enabled. |
set_cvar |
Sets a console variable. Args: 'name', 'value'. Requires 'Allow Console Commands'. |
set_game_mode |
Sets the GameMode for the current level (World Settings override). Args: 'game_mode' (a GameMode class — native name or Blueprint class path ending in _C). Configure its DefaultPawn/PlayerController/HUD via set_blueprint_default on the GameMode Blueprint. Saves via save_level. |
set_material |
Sets a material on a mesh component of the selected actor (or 'actor_label'). Args: 'material' (required, asset path), 'slot' (material index, default 0), optional 'component' (mesh component name; defaults to the actor's first mesh component). Undoable. Requires editor mutations to be enabled. |
set_material_param |
Tunes the material on a mesh component by creating a dynamic instance and setting parameters. Args: 'actor_label' (or selection), optional 'component' and 'slot' (default 0), 'scalar_params' (object of name->number, e.g. tiling/roughness), 'vector_params' (object of name->{r,g,b,a}, e.g. tint). Use get_material_params first for the real names. Undoable. Requires editor mutations enabled. |
set_physics |
Configures physics/collision on an actor's primitive component(s). Args: optional 'simulate' (bool — enable rigid-body physics), optional 'collision_preset' (e.g. "BlockAll", "OverlapAllDynamic", "PhysicsActor", "NoCollision"), optional 'actor_label' (else selection). Provide at least one of 'simulate'/'collision_preset'. |
set_pin_default |
Sets the default (literal) value on an unconnected INPUT pin of a Blueprint node — e.g. drop an asset onto a SystemTemplate/Sound pin, or set a number/bool/enum/string. Args: 'blueprint' (asset path), 'node' (node id from add_blueprint_*_node), 'pin' (input pin name), 'value' (for object/class pins: an asset or class path, or "None" to clear; otherwise the literal text). Fails if the pin is connected. Recompiles the Blueprint. |
set_postprocess |
Adjusts global post-processing (creates an unbound PostProcessVolume if needed). Optional: 'exposure' (EV compensation, e.g. -2 to darken a blown-out shot), 'saturation' (1=neutral), 'contrast' (1=neutral), 'bloom' (intensity), 'vignette' (0-1), 'temperature' (white temp Kelvin, ~6500 neutral). Undoable. Requires editor mutations to be enabled. |
set_property_path |
Sets a value at a nested property path. Root: 'asset' (asset path) or 'actor_label'. 'path' (required) navigates struct members, array indices, and TMap keys-by-name, e.g. "LevelUpInformation[1].LevelUpRequirement" or "CharacterClassInformation[Bruiser].XPReward.Value". Note: maps are keyed by NAME ([Bruiser]), not by ordinal ([0]). 'value' (required; string/number/boolean or Unreal text form). For assets, 'save' (default true). Requires editor mutations enabled. |
set_selection |
Sets the editor selection. Args: 'actor_label' (select actors with this label), 'name_contains' (select all outliner actors whose label contains this substring), or neither to clear the selection (useful to remove the move-gizmo before a screenshot). |
set_static_mesh |
Sets the Static Mesh on an actor's StaticMeshComponent (so a spawned StaticMeshActor shows geometry). Args: 'mesh' (Static Mesh asset path), optional 'actor_label' (else uses the selection), optional 'component' (a specific StaticMeshComponent name). Applies to all matched actors. |
set_viewport_camera |
Aims the active level-editor perspective viewport. Optional 'location' {x,y,z}, 'rotation' {pitch,yaw,roll}, and 'fov' (degrees). Omitted values keep their current setting. Use before take_screenshot to frame a shot. |
set_widget_property |
Sets a property on a widget inside a Widget Blueprint. Args: 'widget_blueprint' (asset path), 'widget' (the widget's name, e.g. "Title"), 'property' (dotted path, e.g. "Text", "Font.Size", "ColorAndOpacity.SpecifiedColor"), 'value' (string/number/bool or Unreal text form). Optional 'target' = "widget" (default) or "slot" to edit the layout slot (anchors/position/padding). Optional 'save' (default true). Recompiles the Blueprint. |
spawn_actor |
Spawns an actor into the current editor level. 'class' (required) is a native class name (e.g. "StaticMeshActor", "PointLight") or a Blueprint class path (e.g. "/Game/.../BP_Foo.BP_Foo_C"). Optional 'location' {x,y,z}, 'rotation' {pitch,yaw,roll}, and 'label'. Undoable. Requires editor mutations to be enabled. |
spawn_decal |
Spawns a decal projecting a material onto surfaces. Args: 'material' (required, decal material path), 'location' {x,y,z}, 'rotation' {pitch,yaw,roll} (default projects downward onto the ground), 'size' {x,y,z} (projection box half-extents, default 256/512/512), 'label'. Undoable. Requires editor mutations enabled. |
spawn_instanced_mesh |
|
start_play_in_editor |
Starts a Play-In-Editor (PIE) session in the active level. PIE runs game logic and initializes over the next frame(s), so this returns once the start is requested; confirm with a follow-up tool (e.g. take_screenshot). No-op if already playing. Requires 'Allow Editor Mutations' to be enabled. |
stop_play_in_editor |
Stops the active Play-In-Editor (PIE) session and returns to editing. No-op if not currently playing. Takes no arguments. |
take_screenshot |
Captures the active editor viewport and returns it as a PNG image. Optional 'max_width' (default 1280, max 4096) downscales large captures to keep the payload small. |
trigger_live_coding |
Hot-patches changed C++ function BODIES into the running editor via Live Coding (no restart). Blocks until the compile finishes and reports the result. Does NOT apply reflection changes (new/changed UCLASS/UPROPERTY/UFUNCTION or new files) — those still need a full rebuild + restart. |