Unreal source functions
430 definitions in the current source checkout. This source map includes internal helpers and class methods. It is not a supported API contract or a promise that a function can be called through a bridge. For supported entry points use the Python API reference or bundled DCC wrapper pages.
Type to search all API references.
unreal_tools.animation
_asset_path
def _asset_path(asset)module function · internal · unreal_tools/animation.py:8
_split_package_asset_path
def _split_package_asset_path(asset_path)module function · internal · unreal_tools/animation.py:15
_load_anim_blueprint
def _load_anim_blueprint(unreal, anim_bp_path)module function · internal · unreal_tools/animation.py:23
_animation_skeleton
def _animation_skeleton(animation)module function · internal · unreal_tools/animation.py:30
_skeletal_meshes_for_skeleton
def _skeletal_meshes_for_skeleton(unreal, skeleton)module function · internal · unreal_tools/animation.py:41
Return stable project SkeletalMesh candidates that use ``skeleton``.
_sequence_metric
def _sequence_metric(animation, property_names, method_names=())module function · internal · unreal_tools/animation.py:59
resolve_animation_target
def resolve_animation_target(target_hint='', directory='/Game/')module function · public name · unreal_tools/animation.py:75
Resolve one target mesh, Skeleton, and AnimBP from live project assets.
set_slot_animation
def set_slot_animation(anim_bp_path, slot_name, animation_path)module function · public name · unreal_tools/animation.py:134
Sets an animation on a montage slot compatible with an Animation Blueprint. :param anim_bp_path: Animation Blueprint used to resolve the target skeleton. :param slot_name: montage slot name to assign. :param animation_path: source AnimSeque
inspect_imported_animation_pipeline
def inspect_imported_animation_pipeline(imported_paths, target_skeleton_path='', target_skeletal_mesh_path='')module function · public name · unreal_tools/animation.py:253
Inspect imported animation timing, root motion, and skeleton compatibility.
retarget_imported_animations_if_needed
def retarget_imported_animations_if_needed(compatibility_report, source_skeletal_mesh_path='', target_skeletal_mesh_path='', output_path='/Game/Animations/Retargeted', retargeter_path='')module function · public name · unreal_tools/animation.py:348
Retarget only incompatible imported AnimSequences and preserve compatible ones.
report_animation_pipeline_assets
def report_animation_pipeline_assets(imported_paths, animation_paths, target_skeleton_path='', target_anim_blueprint_path='')module function · public name · unreal_tools/animation.py:444
Return final asset existence, ownership, and compatibility evidence.
find_compatible_animations
def find_compatible_animations(skeleton_path, directory='/Game/')module function · public name · unreal_tools/animation.py:476
create_or_update_animation_blueprint
def create_or_update_animation_blueprint(skeleton_path, asset_path, template='locomotion')module function · public name · unreal_tools/animation.py:495
Create or reuse a base AnimBlueprint for a concrete Skeleton.
add_state_machine
def add_state_machine(anim_bp_path, state_machine_name)module function · public name · unreal_tools/animation.py:580
add_state
def add_state(anim_bp_path, state_machine_name, state_name, animation_asset_path='')module function · public name · unreal_tools/animation.py:590
add_transition_rule
def add_transition_rule(anim_bp_path, state_machine_name, from_state, to_state, rule_expression)module function · public name · unreal_tools/animation.py:614
wire_state_machine_to_output_pose
def wire_state_machine_to_output_pose(anim_bp_path, state_machine_name)module function · public name · unreal_tools/animation.py:633
compile_and_save_anim_blueprint
def compile_and_save_anim_blueprint(anim_bp_path)module function · public name · unreal_tools/animation.py:643
get_state_machine_graph
def get_state_machine_graph(anim_bp_path, state_machine_name)module function · public name · unreal_tools/animation.py:650
add_anim_notify
def add_anim_notify(animation_path, notify_name, notify_class='', time_ratio=0.0, save=True)module function · public name · unreal_tools/animation.py:676
delete_state_from_state_machine
def delete_state_from_state_machine(anim_bp_path, state_machine_name, state_name)module function · public name · unreal_tools/animation.py:713
delete_state_transition
def delete_state_transition(anim_bp_path, from_state, to_state)module function · public name · unreal_tools/animation.py:724
rename_state
def rename_state(anim_bp_path, state_machine_name, old_state_name, new_state_name)module function · public name · unreal_tools/animation.py:735
set_state_transition_rule
def set_state_transition_rule(anim_bp_path, from_state, to_state, condition_rule)module function · public name · unreal_tools/animation.py:746
synthesize_transition_rule_expression
def synthesize_transition_rule_expression(anim_bp_path, state_machine_name, from_state, to_state, rule_expression)module function · public name · unreal_tools/animation.py:757
retarget_animation
def retarget_animation(source_animation, source_skeletal_mesh_path='', target_skeletal_mesh_path='', output_path='/Game/Animations/Retargeted', retargeter_path='', destination_suffix='_Retargeted', save=True)module function · public name · unreal_tools/animation.py:774
Retarget an animation through an explicit or discoverable IK Retargeter.
create_blendspace
def create_blendspace(asset_path, skeleton_path, samples=None, animation_paths=None, sample_layout='speed_line', axis_x=None, axis_y=None, save=True)module function · public name · unreal_tools/animation.py:831
Create and configure a BlendSpace through the validated native bridge.
unreal_tools.animation_import_adapter
import_animation_verified
def import_animation_verified(anim_path, skeleton_path, destination_path, destination_name='', replace_existing=True)module function · public name · unreal_tools/animation_import_adapter.py:6
Import animation-only FBX data and verify the final Asset Registry path.
unreal_tools.animation_interchange_exporter
export_animation_assets
def export_animation_assets(asset_paths: Iterable[str], destination: str='') -> dict[str, Any]module function · public name · unreal_tools/animation_interchange_exporter.py:14
export_selected_animation_assets
def export_selected_animation_assets(destination: str='') -> dict[str, Any]module function · public name · unreal_tools/animation_interchange_exporter.py:53
_animation_sequence
def _animation_sequence(unreal: Any, object_path: str, asset: Any) -> dict[str, Any]module function · internal · unreal_tools/animation_interchange_exporter.py:68
_blend_space
def _blend_space(unreal: Any, object_path: str, asset: Any, class_name: str) -> dict[str, Any]module function · internal · unreal_tools/animation_interchange_exporter.py:82
_animation_blueprint
def _animation_blueprint(unreal: Any, object_path: str, asset: Any) -> dict[str, Any]module function · internal · unreal_tools/animation_interchange_exporter.py:105
_curve_names
def _curve_names(unreal: Any, asset: Any) -> list[dict[str, str]]module function · internal · unreal_tools/animation_interchange_exporter.py:131
_notify_events
def _notify_events(asset: Any) -> list[dict[str, Any]]module function · internal · unreal_tools/animation_interchange_exporter.py:139
_property
def _property(value: Any, name: str, default: Any) -> Anymodule function · internal · unreal_tools/animation_interchange_exporter.py:146
_call_or_property
def _call_or_property(value: Any, method: str, prop: str, default: Any) -> Anymodule function · internal · unreal_tools/animation_interchange_exporter.py:155
_object_path
def _object_path(value: Any) -> strmodule function · internal · unreal_tools/animation_interchange_exporter.py:165
unreal_tools.animation_source_import
_asset_path
def _asset_path(value: str) -> strmodule function · internal · unreal_tools/animation_source_import.py:8
import_animation_source
def import_animation_source(source_path: str, destination_path: str, destination_name: str, replace_existing: bool=False, save: bool=True) -> dictmodule function · public name · unreal_tools/animation_source_import.py:12
Import an FBX's own mesh, Skeleton, and animations for editor retargeting. A motion-only FBX may create a Skeleton/AnimSequence but no SkeletalMesh. The report keeps that distinction explicit because IK Retargeter baking needs a source Skel
unreal_tools.asset_transfer_adapter
resolve_import_destination
def resolve_import_destination(destination_path: str) -> tuple[str, str]module function · public name · unreal_tools/asset_transfer_adapter.py:11
Resolve an explicit package path or the current Content Browser folder.
import_fbx_verified
def import_fbx_verified(source_file: str, destination_path: str='/Game/AIStudio/Imports', *, subject: str='asset', skeleton_path: str='', replace_existing: bool=False, save: bool=True, assemble_lods: bool=False) -> dict[str, Any]module function · public name · unreal_tools/asset_transfer_adapter.py:31
Import an FBX and verify its assets, including skeletal mesh to Skeleton links.
registry_readback
def registry_readback(imported_paths: list[str] | tuple[str, ...] | None=None, destination_path: str='') -> dict[str, Any]module function · public name · unreal_tools/asset_transfer_adapter.py:210
Prove imported packages resolve through the Asset Registry.
rollback_imported_assets
def rollback_imported_assets(imported_paths: list[str] | tuple[str, ...]) -> dict[str, Any]module function · public name · unreal_tools/asset_transfer_adapter.py:255
Delete only the assets returned by this adapter's import result.
unreal_tools.assets
object_path
def object_path(asset_path)module function · public name · unreal_tools/assets.py:9
Return an Unreal object path for either a package or object path input.
load_asset
def load_asset(unreal, asset_path)module function · public name · unreal_tools/assets.py:19
Load an asset even when EditorAssetLibrary rejects a package-only path.
load_blueprint_class
def load_blueprint_class(unreal, asset_path)module function · public name · unreal_tools/assets.py:37
Resolve a generated class from package, object, or generated-class paths.
get_dependencies
def get_dependencies(asset_path, recursive=True)module function · public name · unreal_tools/assets.py:72
inspect_asset
def inspect_asset(asset_path)module function · public name · unreal_tools/assets.py:87
find_asset_path_by_name
def find_asset_path_by_name(file_name, expected_class='', directory='/Game', allow_engine=False)module function · public name · unreal_tools/assets.py:124
Resolve a user-facing Unreal asset name/path to a package path. This is the shared version of the old `find_uasset_path` pattern. It accepts `/Game/...`, `/Game/Asset.Asset`, or a bare asset name such as `Run_Fwd`. Returns the package path
resolve_asset
def resolve_asset(file_name, expected_class='', directory='/Game')module function · public name · unreal_tools/assets.py:190
Return a compact serializable asset handle by name/path.
delete_assets
def delete_assets(asset_paths, dry_run=False)module function · public name · unreal_tools/assets.py:213
Deletes exact Unreal assets idempotently. :param asset_paths: asset path or paths to delete :param dry_run: whether to inspect without mutation :return: JSON deletion receipt
rename_asset
def rename_asset(asset_path, new_asset_path, dry_run=False)module function · public name · unreal_tools/assets.py:251
duplicate_asset
def duplicate_asset(source_asset_path, target_asset_path, dry_run=False)module function · public name · unreal_tools/assets.py:268
save_assets
def save_assets(asset_paths, only_if_is_dirty=False)module function · public name · unreal_tools/assets.py:285
create_by_class_path
def create_by_class_path(asset_path, class_path, initial_properties=None)module function · public name · unreal_tools/assets.py:299
inspect_reflected
def inspect_reflected(asset_path, property_names=None)module function · public name · unreal_tools/assets.py:311
set_reflected_property
def set_reflected_property(asset_path, property_name, value)module function · public name · unreal_tools/assets.py:319
array_add_object_reference
def array_add_object_reference(asset_path, property_name, object_path)module function · public name · unreal_tools/assets.py:331
array_remove_object_reference
def array_remove_object_reference(asset_path, property_name, object_path)module function · public name · unreal_tools/assets.py:343
unreal_tools.behavior_tree
author_baseline
def author_baseline(behavior_tree_path, blackboard_path='', wait_seconds=1.0, save=True)module function · public name · unreal_tools/behavior_tree.py:8
Authors a Root to Selector to Wait Behavior Tree baseline. :param behavior_tree_path: Unreal Behavior Tree content path :param blackboard_path: optional Blackboard Data content path :param wait_seconds: Wait task duration :param save: wheth
author_wait_graph
def author_wait_graph(behavior_tree_path, blackboard_path='', composite_type='selector', wait_seconds=(1.0,), save=True)module function · public name · unreal_tools/behavior_tree.py:40
Authors a Selector or Sequence with one or more Wait task children. :param behavior_tree_path: Unreal Behavior Tree content path :param blackboard_path: optional Blackboard Data content path :param composite_type: selector or sequence :para
author_task_graph
def author_task_graph(behavior_tree_path, blackboard_path, tasks, composite_type='sequence', save=True)module function · public name · unreal_tools/behavior_tree.py:75
Authors a mixed Move To and Wait Behavior Tree task graph. :param behavior_tree_path: Unreal Behavior Tree content path :param blackboard_path: Blackboard Data content path used by Move To tasks :param tasks: ordered task specifications :pa
unreal_tools.blackboard
_load_blackboard
def _load_blackboard(unreal, asset_path)module function · internal · unreal_tools/blackboard.py:22
inspect_schema
def inspect_schema(asset_path)module function · public name · unreal_tools/blackboard.py:29
Inspects Blackboard keys and their reflected types. :param asset_path: Unreal Blackboard Data content path :return: JSON schema inspection receipt
set_schema
def set_schema(asset_path, keys, replace_existing=True, save=True)module function · public name · unreal_tools/blackboard.py:57
Sets a Blackboard schema using reflected key-type subobjects. :param asset_path: Unreal Blackboard Data content path :param keys: key specification dictionaries :param replace_existing: whether to replace all existing keys :param save: whet
unreal_tools.blueprint
_load_blueprint
def _load_blueprint(unreal, asset_path)module function · internal · unreal_tools/blueprint.py:11
_pin_type_summary
def _pin_type_summary(pin_type)module function · internal · unreal_tools/blueprint.py:18
_variable_row
def _variable_row(unreal, blueprint, raw_name)module function · internal · unreal_tools/blueprint.py:43
_compile_and_save
def _compile_and_save(unreal, blueprint, save)module function · internal · unreal_tools/blueprint.py:57
_blueprint_component_rows
def _blueprint_component_rows(unreal, blueprint)module function · internal · unreal_tools/blueprint.py:76
_resolve_component_class
def _resolve_component_class(unreal, component_class)module function · internal · unreal_tools/blueprint.py:107
_unreal_class_path
def _unreal_class_path(unreal_class)module function · internal · unreal_tools/blueprint.py:124
Gets the canonical Unreal class path for a Python class proxy or UClass. :param unreal_class: Unreal Python class proxy or reflected UClass :return: canonical Unreal class path
_set_component_reference
def _set_component_reference(component, unreal, asset_path)module function · internal · unreal_tools/blueprint.py:143
add_component
def add_component(blueprint_path, component_class, component_name, asset_path='', attach_bone='', socket_name='', save=True)module function · public name · unreal_tools/blueprint.py:160
Add and verify a Blueprint-authored component through SubobjectDataSubsystem.
_member_default_text
def _member_default_text(value)module function · internal · unreal_tools/blueprint.py:243
_equivalent_default
def _equivalent_default(expected, actual)module function · internal · unreal_tools/blueprint.py:253
create_variable
def create_variable(blueprint_path, variable_name, variable_type, is_array=False, default_value=None, save=True)module function · public name · unreal_tools/blueprint.py:266
Create a typed Blueprint member variable and verify generated-class readback.
scan_blueprint
def scan_blueprint(asset_path, include_graphs=True, include_defaults=True)module function · public name · unreal_tools/blueprint.py:332
compile_blueprint
def compile_blueprint(asset_path)module function · public name · unreal_tools/blueprint.py:426
compile_and_save_blueprint
def compile_and_save_blueprint(asset_path)module function · public name · unreal_tools/blueprint.py:435
Compile a Blueprint and save it to disk if compilation succeeds.
_graph_editor
def _graph_editor(unreal, blueprint, graph_name)module function · internal · unreal_tools/blueprint.py:467
_node_by_name
def _node_by_name(editor, node_name)module function · internal · unreal_tools/blueprint.py:474
_pin_by_name
def _pin_by_name(unreal, node, pin_name)module function · internal · unreal_tools/blueprint.py:490
add_function
def add_function(blueprint_path, function_name, inputs=None, outputs=None, save=True)module function · public name · unreal_tools/blueprint.py:504
add_node_to_graph
def add_node_to_graph(blueprint_path, graph_name, node_class, node_name='', x=0.0, y=0.0, context_node_names=None, save=True)module function · public name · unreal_tools/blueprint.py:559
connect_node_pins
def connect_node_pins(blueprint_path, graph_name, source_node, source_pin, target_node, target_pin, save=True)module function · public name · unreal_tools/blueprint.py:612
get_compile_errors
def get_compile_errors(blueprint_path)module function · public name · unreal_tools/blueprint.py:645
_bridge_action_result
def _bridge_action_result(unreal, method_name, blueprint_path, graph_name, *args)module function · internal · unreal_tools/blueprint.py:659
describe_node_action
def describe_node_action(blueprint_path, graph_name, palette_action)module function · public name · unreal_tools/blueprint.py:673
Read an exact context-filtered palette action and pin signature without mutation.
search_node_actions
def search_node_actions(blueprint_path, graph_name, query, max_results=50)module function · public name · unreal_tools/blueprint.py:686
Search live graph-context Blueprint actions without changing the source asset.
probe_node_action
def probe_node_action(blueprint_path, graph_name, palette_action, temp_folder='/Game/AIStudio/Temp/NodeProbes')module function · public name · unreal_tools/blueprint.py:700
Create an action only on a disposable Blueprint copy and report its real pins.
_validate_graph_spec
def _validate_graph_spec(spec)module function · internal · unreal_tools/blueprint.py:796
apply_graph_spec
def apply_graph_spec(blueprint_path, graph_name, graph_spec, save=True)module function · public name · unreal_tools/blueprint.py:830
Apply an approved, explicit node graph without mechanic-specific dispatch.
create_from_template
def create_from_template(template, asset_path, parent_class='', parameters=None)module function · public name · unreal_tools/blueprint.py:894
Creates or loads a Blueprint and reports only operations actually performed. :param template: parent selection hint such as actor or character :param asset_path: destination Unreal content path :param parent_class: optional explicit Unreal
unreal_tools.blueprint_events
get_blueprint_graphs
def get_blueprint_graphs(blueprint)module function · public name · unreal_tools/blueprint_events.py:4
add_custom_events_to_blueprint
def add_custom_events_to_blueprint(bp_path, event_names)module function · public name · unreal_tools/blueprint_events.py:14
Ensures each name in `event_names` exists as a custom event inside the Blueprint at `bp_path`. If it doesn't exist, it creates the event. :param event_names: List of new attribute events to add to the bp :param bp_path: Path to the Blueprin
get_valid_events_from_import
def get_valid_events_from_import(imported_events, bp_class)module function · public name · unreal_tools/blueprint_events.py:68
:param imported_events: :param bp_class: :return:
unreal_tools.blueprint_variables
detect_new_custom_attrs_from_animation
def detect_new_custom_attrs_from_animation(anim_path, bp_path)module function · public name · unreal_tools/blueprint_variables.py:3
:param anim_path: Path to Anim Sequence :param bp_path: Path to the Blueprint to query and edit :return:
add_variables_to_blueprint
def add_variables_to_blueprint(bp_path, variable_names)module function · public name · unreal_tools/blueprint_variables.py:18
Adds a list of variables to a Blueprint and exposes them to cinematics. :param bp_path: Blueprint path to add the variables to :param variable_names: List of variable names from curves
unreal_tools.control_rig
_prepare_game_asset_for_write
def _prepare_game_asset_for_write(asset_path)module function · internal · unreal_tools/control_rig.py:8
create_control_rig_from_asset
def create_control_rig_from_asset(asset_path)module function · public name · unreal_tools/control_rig.py:14
add_parent_constraint_node
def add_parent_constraint_node(control_rig_bp, graph: unreal.RigVMGraph, child_name: str, parent_name: str, child_type=unreal.RigElementType.BONE, parent_type=unreal.RigElementType.CONTROL, maintain_offset=True, weight=1.0, translation=True, rotation=True, scale=False, node_position=unreal.Vector2D(0.0, 0.0), node_name='ParentConstraintNode', input_node=None)module function · public name · unreal_tools/control_rig.py:31
connect_to_forward_solve
def connect_to_forward_solve(controller, graph, unit_node, forward_entry_node=None)module function · public name · unreal_tools/control_rig.py:81
:param controller: :param graph: :param unit_node: :param forward_entry_node: :return:
get_bone_hierarchy
def get_bone_hierarchy(skeletal_mesh_path)module function · public name · unreal_tools/control_rig.py:124
:param skeletal_mesh_path: Path to skeletal mesh being used :return:
get_finger_joints
def get_finger_joints(joint_map, finger_name, side='Left')module function · public name · unreal_tools/control_rig.py:151
:param joint_map: mapping from HIK UI (maya_tools/Rigging/mocap) :param finger_name: :param side: :return:
build_spine_module
def build_spine_module(controller, spine_joints)module function · public name · unreal_tools/control_rig.py:176
:param controller: control_rig_bp.get_modular_rig_controller() :param spine_joints: :return:
build_leg_modules
def build_leg_modules(controller, leg_joints, spine_joints)module function · public name · unreal_tools/control_rig.py:219
:param controller: control_rig_bp.get_modular_rig_controller() :param leg_joints: :param spine_joints: :return:
build_neck_module
def build_neck_module(controller, neck_joints)module function · public name · unreal_tools/control_rig.py:273
:param controller: control_rig_bp.get_modular_rig_controller() :param neck_joints: :return:
build_finger_modules
def build_finger_modules(controller, joint_map)module function · public name · unreal_tools/control_rig.py:317
:param controller: control_rig_bp.get_modular_rig_controller() :param joint_map: :return:
build_shoulder_modules
def build_shoulder_modules(controller)module function · public name · unreal_tools/control_rig.py:367
:param controller: control_rig_bp.get_modular_rig_controller() :return:
build_arm_modules
def build_arm_modules(controller, arm_joints)module function · public name · unreal_tools/control_rig.py:397
:param controller: control_rig_bp.get_modular_rig_controller() :param arm_joints: :return:
build_feet_modules
def build_feet_modules(controller, foot_joints)module function · public name · unreal_tools/control_rig.py:470
:param controller: control_rig_bp.get_modular_rig_controller() :param foot_joints: :return:
assign_origin_to_root
def assign_origin_to_root(controller, root_joint)module function · public name · unreal_tools/control_rig.py:525
:param controller: control_rig_bp.get_modular_rig_controller() :param root_joint: actual top joint name :return:
find_uasset_path
def find_uasset_path(file_name)module function · public name · unreal_tools/control_rig.py:548
Finds the path of a .uasset file by name. :param file_name: The name of the asset to find. :return: Path to the asset if found, None otherwise.
configure_arm_reference_axes
def configure_arm_reference_axes(blueprint, joint_map)module function · public name · unreal_tools/control_rig.py:573
Choose explicit limb axes that preserve the imported reference pose.
verify_arm_reference_pose
def verify_arm_reference_pose(blueprint, joint_map)module function · public name · unreal_tools/control_rig.py:643
Reject fresh builds with arm or roll-bone rest-pose flips in FK or IK.
apply_body_control_connections
def apply_body_control_connections(control_rig_bp, joint_map)module function · public name · unreal_tools/control_rig.py:694
Resolve generated control spaces and twist arrays after construction.
apply_body_joint_map
def apply_body_joint_map(control_rig_bp, joint_map)module function · public name · unreal_tools/control_rig.py:796
Build and resolve modular connectors from explicit HIK body slots.
build_modular_fk_control_rig
def build_modular_fk_control_rig(skeletal_mesh_name, rig_name, joint_map)module function · public name · unreal_tools/control_rig.py:896
:param skeletal_mesh_name: :param rig_name: :param joint_map: :return:
_json_result
def _json_result(**payload)module function · internal · unreal_tools/control_rig.py:941
list_controls
def list_controls(rig_path)module function · public name · unreal_tools/control_rig.py:947
set_control_property
def set_control_property(rig_path, control_name, property_name, value, save=True)module function · public name · unreal_tools/control_rig.py:971
set_control_default
def set_control_default(rig_path, control_name, value, save=True)module function · public name · unreal_tools/control_rig.py:984
rename_control
def rename_control(rig_path, old_name, new_name, save=True)module function · public name · unreal_tools/control_rig.py:988
add_rig_element
def add_rig_element(rig_path, element_name, element_type, parent_name='', save=True)module function · public name · unreal_tools/control_rig.py:1002
connect_rig_nodes
def connect_rig_nodes(rig_path, source_node, source_pin, target_node, target_pin, save=True)module function · public name · unreal_tools/control_rig.py:1016
unreal_tools.data_tables
_asset_parts
def _asset_parts(asset_path)module function · internal · unreal_tools/data_tables.py:8
Gets the package path and asset name. :param asset_path: Unreal content path :return: package path and asset name
_load_row_struct
def _load_row_struct(unreal, row_struct_path)module function · internal · unreal_tools/data_tables.py:24
Loads a native or asset-backed row ScriptStruct. :param unreal: Unreal Python module :param row_struct_path: Unreal row-struct object path :return: loaded ScriptStruct
inspect_data_table
def inspect_data_table(asset_path, include_rows=False, max_rows=200)module function · public name · unreal_tools/data_tables.py:44
Inspects a Data Table's row struct, columns, rows, and JSON export. :param asset_path: Unreal Data Table content path :param include_rows: whether to include exported row payloads :param max_rows: maximum exported rows returned in the recei
create_from_rows
def create_from_rows(asset_path, row_struct_path, rows, overwrite=False, dry_run=False, cleanup_on_failure=True)module function · public name · unreal_tools/data_tables.py:92
Creates, fills, saves, and verifies a Data Table from JSON-compatible rows. :param asset_path: destination Unreal Data Table content path :param row_struct_path: native or asset-backed row ScriptStruct path :param rows: row dictionaries con
unreal_tools.domain_assets
_asset_parts
def _asset_parts(asset_path)module function · internal · unreal_tools/domain_assets.py:20
Gets the package path and asset name. :param asset_path: Unreal content path :return: package path and asset name
_type_classes
def _type_classes(unreal, asset_type)module function · internal · unreal_tools/domain_assets.py:36
Resolves the reflected asset and factory classes for a supported type. :param unreal: Unreal Python module :param asset_type: supported Tech Connector domain asset type :return: reflected asset class and factory class
_factory_compatibility
def _factory_compatibility(unreal, asset_class, factory)module function · internal · unreal_tools/domain_assets.py:60
Checks that an Unreal factory supports the exact requested asset class. :param unreal: Unreal Python module :param asset_class: requested Unreal Python asset class :param factory: instantiated Unreal factory :return: compatibility flag, req
inspect_domain_asset
def inspect_domain_asset(asset_path, expected_type='')module function · public name · unreal_tools/domain_assets.py:88
Inspects a supported domain asset through registry and reflected readback. :param asset_path: Unreal content path :param expected_type: optional supported Tech Connector domain asset type :return: JSON inspection receipt
create_domain_asset
def create_domain_asset(asset_type, asset_path, overwrite=False, dry_run=False, cleanup_on_failure=True)module function · public name · unreal_tools/domain_assets.py:128
Creates a supported domain asset with class, save, and registry readback. :param asset_type: supported Tech Connector domain asset type :param asset_path: destination Unreal content path :param overwrite: whether to delete the exact existin
unreal_tools.editor_tools
BlueprintNodeSearchDockWidget.__init__
def BlueprintNodeSearchDockWidget.__init__(self, rows: int=0, columns: int=0, parent=None)class method · internal · unreal_tools/editor_tools.py:7
BlueprintNodeSearchDockWidget.populate
def BlueprintNodeSearchDockWidget.populate(self, headers: list[str], row_data: list[list[str]]) -> Noneclass method · public name · unreal_tools/editor_tools.py:13
unreal_tools.gameplay
_tokens
def _tokens(text)module function · internal · unreal_tools/gameplay.py:9
_asset_class_name
def _asset_class_name(data)module function · internal · unreal_tools/gameplay.py:13
_asset_name
def _asset_name(data)module function · internal · unreal_tools/gameplay.py:23
_package_name
def _package_name(data)module function · internal · unreal_tools/gameplay.py:33
_object_path
def _object_path(data)module function · internal · unreal_tools/gameplay.py:40
_asset_index
def _asset_index(unreal, directory='/Game/')module function · internal · unreal_tools/gameplay.py:63
_rank
def _rank(items, words)module function · internal · unreal_tools/gameplay.py:77
_rock_climbing_plan
def _rock_climbing_plan(candidate_blueprints, candidate_anim_bps, candidate_anims)module function · internal · unreal_tools/gameplay.py:92
prototype_from_template
def prototype_from_template(template, target_path, parameters=None)module function · public name · unreal_tools/gameplay.py:125
Create a scan-backed prototype plan from a controlled template.
create_gameplay_ability
def create_gameplay_ability(ability_name, save_path='')module function · public name · unreal_tools/gameplay.py:188
Creates a Gameplay Ability Blueprint asset. :param ability_name: asset name for the new Gameplay Ability Blueprint. :param save_path: optional content folder or full package path. :return: JSON creation and readback result.
unreal_tools.gameplay_import_func
import_animations_from_json
def import_animations_from_json(anim_dict_path)module function · public name · unreal_tools/gameplay_import_func.py:7
Function to call via the subprocess version / unreal cmd.exe version of the gameplay import to import all anims in json :param anim_dict_path: path to json with sequence_data :return:
unreal_tools.get_skeletons
get_all_assets_of_type
def get_all_assets_of_type(type='Skeleton', directory='/Game/')module function · public name · unreal_tools/get_skeletons.py:4
Return stable Asset Registry identities for one Unreal asset class.
unreal_tools.http_server
_write_bridge_status
def _write_bridge_status(status)module function · internal · unreal_tools/http_server.py:29
verify_ai_studio_bridge
def verify_ai_studio_bridge()module function · public name · unreal_tools/http_server.py:59
_write_port_files
def _write_port_files(port)module function · internal · unreal_tools/http_server.py:91
import_function
def import_function(func_path)module function · public name · unreal_tools/http_server.py:119
Dynamically import a function from a module path string. used in a payload for the HTTP Handler POST :param func_path: Example func "unreal_tools.get_skeletons.get_all_assets_of_type" :return:
tick
def tick(delta_time)module function · public name · unreal_tools/http_server.py:146
RequestHandler.log_message
def RequestHandler.log_message(self, format, *args)class method · public name · unreal_tools/http_server.py:180
RequestHandler.do_POST
def RequestHandler.do_POST(self)class method · public name · unreal_tools/http_server.py:183
RequestHandler._send_json
def RequestHandler._send_json(self, status_code, payload)class method · internal · unreal_tools/http_server.py:238
Send a JSON response without terminating the server on disconnect.
is_port_in_use
def is_port_in_use(port)module function · public name · unreal_tools/http_server.py:251
run_server
def run_server()module function · public name · unreal_tools/http_server.py:256
start_http_server_in_thread
def start_http_server_in_thread()module function · public name · unreal_tools/http_server.py:283
Start the listener unless a live server thread already owns it.
server_status
def server_status()module function · public name · unreal_tools/http_server.py:301
Return listener and worker state for startup diagnostics.
unreal_tools.level
_component_summary
def _component_summary(component)module function · internal · unreal_tools/level.py:8
_actor_summary
def _actor_summary(unreal, actor)module function · internal · unreal_tools/level.py:20
scan_loaded_level
def scan_loaded_level(include_components=True, max_actors=2000)module function · public name · unreal_tools/level.py:49
Return JSON-serializable facts about the currently loaded editor level.
_all_level_actors
def _all_level_actors(unreal)module function · internal · unreal_tools/level.py:104
resolve_actor
def resolve_actor(query='selected', allow_asset_lookup=True)module function · public name · unreal_tools/level.py:117
Resolve a name/label/path/tag/Blueprint or mesh asset name to level actors.
select_actors_by_query
def select_actors_by_query(query)module function · public name · unreal_tools/level.py:219
Resolve actor query/queries to real Actor objects and select them in-editor.
get_selected_actors
def get_selected_actors()module function · public name · unreal_tools/level.py:246
create_validation_map
def create_validation_map(map_path='/Game/Developers/AI_Validation/Disposable_TestMap', spawn_actors=None, test_steps=None, save=True)module function · public name · unreal_tools/level.py:261
Create/open a disposable validation map and return editor readback evidence.
delete_actor
def delete_actor(actor_query, dry_run=False)module function · public name · unreal_tools/level.py:331
organize_actors
def organize_actors(actor_specs, save=True)module function · public name · unreal_tools/level.py:357
Organizes existing actors with labels, Outliner folders, tags, and visibility. :param actor_specs: actor queries and requested organization properties :param save: whether to save the current level :return: JSON mutation and exact actor rea
unreal_tools.materials
_asset_parts
def _asset_parts(asset_path)module function · internal · unreal_tools/materials.py:10
Gets the package path and asset name. :param asset_path: Unreal content path :return: package path and asset name
_expression_row
def _expression_row(unreal, expression)module function · internal · unreal_tools/materials.py:26
Gets a serializable material-expression receipt. :param unreal: Unreal Python module :param expression: material expression object :return: expression receipt
_resolve_expression_class
def _resolve_expression_class(unreal, class_name)module function · internal · unreal_tools/materials.py:47
Resolves and validates a material-expression class name. :param unreal: Unreal Python module :param class_name: short Unreal material-expression class name :return: validated material-expression class
_coerce_editor_value
def _coerce_editor_value(unreal, current_value, value)module function · internal · unreal_tools/materials.py:66
Coerces JSON-compatible data to the reflected property's Unreal type. :param unreal: Unreal Python module :param current_value: current reflected property value :param value: JSON-compatible requested value :return: value suitable for set_e
inspect_material
def inspect_material(asset_path)module function · public name · unreal_tools/materials.py:118
Inspects a material graph and its material-property inputs. :param asset_path: Unreal material content path :return: JSON inspection receipt
create_material
def create_material(asset_path, overwrite=False, dry_run=False)module function · public name · unreal_tools/materials.py:161
Creates a blank Material asset with save and registry readback. :param asset_path: destination Unreal material content path :param overwrite: whether to delete the exact existing asset first :param dry_run: whether to validate without mutat
create_parameterized_pbr_material
def create_parameterized_pbr_material(asset_path, base_color=(0.18, 0.35, 0.8, 1.0), roughness=0.5, metallic=0.0, overwrite=False, dry_run=False, cleanup_on_failure=True)module function · public name · unreal_tools/materials.py:213
Creates a parameterized PBR Material and verifies its graph connections. :param asset_path: destination Unreal material content path :param base_color: RGBA default for BaseColor :param roughness: scalar roughness default :param metallic: s
create_material_from_spec
def create_material_from_spec(asset_path, nodes, connections=None, outputs=None, material_domain='MD_SURFACE', material_properties=None, overwrite=False, dry_run=False, cleanup_on_failure=True)module function · public name · unreal_tools/materials.py:315
Creates, connects, compiles, saves, and verifies a Material graph specification. :param asset_path: destination Unreal material content path :param nodes: expression nodes with id, expression_class, position, and properties :param connectio
unreal_tools.metasound
_succeeded
def _succeeded(result)module function · internal · unreal_tools/metasound.py:8
_builder_node_rows
def _builder_node_rows(builder, nodes)module function · internal · unreal_tools/metasound.py:12
_literal_for_value
def _literal_for_value(builder_subsystem, value)module function · internal · unreal_tools/metasound.py:34
Creates a MetaSound literal for a JSON-compatible scalar or array. :param builder_subsystem: Unreal MetaSound Builder subsystem :param value: requested scalar or homogeneous scalar array :return: MetaSound literal and literal data type
create_sine_tone_source
def create_sine_tone_source(asset_path, frequency=440.0, author='Tech Connector', overwrite=False, dry_run=False, cleanup_on_failure=True)module function · public name · unreal_tools/metasound.py:61
Authors and serializes a mono MetaSound sine tone source. :param asset_path: destination Unreal content path :param frequency: oscillator frequency in Hertz :param author: MetaSound document author :param overwrite: whether to replace the e
create_source_from_spec
def create_source_from_spec(asset_path, nodes, connections, author='Tech Connector', overwrite=False, dry_run=False, cleanup_on_failure=True)module function · public name · unreal_tools/metasound.py:185
Creates a mono MetaSound Source from registered nodes and named vertices. :param asset_path: destination Unreal content path :param nodes: registered node specifications with ids, class names, inputs, and locations :param connections: sourc
unreal_tools.motion_matching
_result
def _result(**payload)module function · internal · unreal_tools/motion_matching.py:8
_load
def _load(unreal, asset_path)module function · internal · unreal_tools/motion_matching.py:12
_bridge
def _bridge(unreal)module function · internal · unreal_tools/motion_matching.py:19
_decode
def _decode(payload)module function · internal · unreal_tools/motion_matching.py:26
_channel_class_path
def _channel_class_path(channel_name, channel_type)module function · internal · unreal_tools/motion_matching.py:32
inspect_database
def inspect_database(asset_path)module function · public name · unreal_tools/motion_matching.py:49
create_pose_search_database
def create_pose_search_database(skeleton_path: str, animation_paths: list[str], asset_path: str, schema_path: str='', sample_rate: int=30) -> strmodule function · public name · unreal_tools/motion_matching.py:63
add_animation
def add_animation(database_path: str, animation_path: str) -> strmodule function · public name · unreal_tools/motion_matching.py:92
remove_animation
def remove_animation(database_path: str, animation_path: str) -> strmodule function · public name · unreal_tools/motion_matching.py:98
set_database_property
def set_database_property(database_path: str, property_name: str, value) -> strmodule function · public name · unreal_tools/motion_matching.py:104
create_schema
def create_schema(skeleton_path: str, asset_path: str, channels: list[dict] | None=None, sample_rate: int=30) -> strmodule function · public name · unreal_tools/motion_matching.py:120
add_schema_channel
def add_schema_channel(schema_path: str, channel_name: str, channel_type: str, settings: dict | None=None) -> strmodule function · public name · unreal_tools/motion_matching.py:146
add_state_animations
def add_state_animations(database_path: str, animation_paths: list[str], state_tag: str) -> strmodule function · public name · unreal_tools/motion_matching.py:161
unreal_tools.navigation
unreal_tools.networking
_json_object
def _json_object(value)module function · internal · unreal_tools/networking.py:8
configure_blueprint_replication
def configure_blueprint_replication(blueprint_path, replicated_variables=None, rep_notify_variables=None, server_rpc_functions=None, reliable=True, save=True)module function · public name · unreal_tools/networking.py:17
Configure replication metadata through the reflected first-party bridge.
inspect_authority_flow
def inspect_authority_flow(blueprint_path, required_variables=None, required_server_rpcs=None, required_onrep_functions=None)module function · public name · unreal_tools/networking.py:53
Read back graph and generated-class evidence for an authoritative Blueprint flow.
unreal_tools.niagara
_result
def _result(**payload)module function · internal · unreal_tools/niagara.py:8
_load
def _load(unreal, asset_path)module function · internal · unreal_tools/niagara.py:12
_bridge
def _bridge(unreal)module function · internal · unreal_tools/niagara.py:19
_compact_value
def _compact_value(value, depth=0)module function · internal · unreal_tools/niagara.py:26
_short_type_name
def _short_type_name(value)module function · internal · unreal_tools/niagara.py:42
_display_niagara_value
def _display_niagara_value(value)module function · internal · unreal_tools/niagara.py:49
_value_type
def _value_type(value, value_type)module function · internal · unreal_tools/niagara.py:68
_split_package_asset_path
def _split_package_asset_path(asset_path)module function · internal · unreal_tools/niagara.py:80
_readback_asset
def _readback_asset(unreal, asset_path)module function · internal · unreal_tools/niagara.py:91
_set_requested_properties
def _set_requested_properties(asset, parameters)module function · internal · unreal_tools/niagara.py:111
inspect_system
def inspect_system(asset_path)module function · public name · unreal_tools/niagara.py:123
list_module_inputs
def list_module_inputs(asset_path: str, emitter_name: str='', include_topology: bool=False) -> strmodule function · public name · unreal_tools/niagara.py:141
create_emitter
def create_emitter(asset_path, template='empty', parameters=None)module function · public name · unreal_tools/niagara.py:201
set_user_parameter
def set_user_parameter(asset_path: str, parameter_name: str, value, value_type: str='auto') -> strmodule function · public name · unreal_tools/niagara.py:277
set_renderer_property
def set_renderer_property(asset_path: str, property_name: str, value, emitter_name: str='', renderer_index: int=0, value_type: str='auto') -> strmodule function · public name · unreal_tools/niagara.py:293
set_module_input
def set_module_input(asset_path: str, module_name: str, input_name: str, value, emitter_name: str='', script_usage: str='', value_type: str='auto') -> strmodule function · public name · unreal_tools/niagara.py:314
add_to_level
def add_to_level(asset_path, location=None, attach_to_selected_actor=False)module function · public name · unreal_tools/niagara.py:337
attach_editable_character_fx
def attach_editable_character_fx(blueprint_path, source_system_path='/Game/Variant_Platforming/VFX/NS_Jump_Trail', system_path='/Game/AIStudio/Prototypes/Niagara/NS_AIStudio_CharacterAura', component_name='AIStudio_AuraFX', socket_name='spine_03', parameters=None, extra_components=None, native_binding_chunk_size=2, disable_native_graph_binding=False, save=True)module function · public name · unreal_tools/niagara.py:357
delete_emitter
def delete_emitter(system_path: str, emitter_name: str) -> strmodule function · public name · unreal_tools/niagara.py:386
set_emitter_property
def set_emitter_property(system_path: str, emitter_name: str, property_name: str, value) -> strmodule function · public name · unreal_tools/niagara.py:392
unreal_tools.pcg
_load_graph
def _load_graph(unreal, graph_path)module function · internal · unreal_tools/pcg.py:8
_pin_rows
def _pin_rows(node)module function · internal · unreal_tools/pcg.py:15
_vector_row
def _vector_row(value)module function · internal · unreal_tools/pcg.py:28
_resolve_settings_class
def _resolve_settings_class(unreal, class_name)module function · internal · unreal_tools/pcg.py:32
Resolves and validates a PCG settings class. :param unreal: Unreal Python module :param class_name: Unreal Python name or reflected class path :return: reflected PCG settings class
_coerce_editor_value
def _coerce_editor_value(unreal, current, value)module function · internal · unreal_tools/pcg.py:56
Coerces JSON-compatible values to common Unreal value structs. :param unreal: Unreal Python module :param current: current reflected property value :param value: requested JSON-compatible value :return: value suitable for set_editor_propert
inspect_graph
def inspect_graph(graph_path)module function · public name · unreal_tools/pcg.py:77
Inspects a PCG graph, including settings, positions, pins, and edges. :param graph_path: Unreal PCG graph content path :return: JSON graph inspection receipt
create_grid_transform_graph
def create_grid_transform_graph(graph_path, grid_extents=(1000.0, 1000.0, 100.0), cell_size=(200.0, 200.0, 200.0), offset=(0.0, 0.0, 100.0), save=True)module function · public name · unreal_tools/pcg.py:120
Authors a Grid to Transform to Output PCG graph. :param graph_path: Unreal PCG graph content path :param grid_extents: grid half extents :param cell_size: grid cell size :param offset: transform offset :param save: whether to save the graph
apply_graph_spec
def apply_graph_spec(graph_path, nodes, edges, clear_existing=True, save=True)module function · public name · unreal_tools/pcg.py:176
Applies a typed PCG node and connection specification. :param graph_path: Unreal PCG graph content path :param nodes: node specifications with id, settings_class, position, and properties :param edges: connection specifications with source,
unreal_tools.physics
_result
def _result(**payload)module function · internal · unreal_tools/physics.py:8
_asset
def _asset(unreal, asset_path)module function · internal · unreal_tools/physics.py:12
_bridge
def _bridge(unreal)module function · internal · unreal_tools/physics.py:19
list_bodies
def list_bodies(asset_path)module function · public name · unreal_tools/physics.py:26
list_constraints
def list_constraints(asset_path)module function · public name · unreal_tools/physics.py:39
set_body_property
def set_body_property(asset_path, body_name, property_name, value, save=True, value_type='auto')module function · public name · unreal_tools/physics.py:52
set_constraint_property
def set_constraint_property(asset_path, constraint_name, property_name, value, save=True, value_type='auto')module function · public name · unreal_tools/physics.py:63
set_profile_property
def set_profile_property(asset_path: str, profile_name: str, property_name: str, value, save: bool=True, value_type: str='auto') -> strmodule function · public name · unreal_tools/physics.py:74
list_profiles
def list_profiles(asset_path: str) -> strmodule function · public name · unreal_tools/physics.py:92
add_profile
def add_profile(asset_path: str, profile_name: str, profile_type: str='constraint', assign_all: bool=True) -> strmodule function · public name · unreal_tools/physics.py:98
remove_profile
def remove_profile(asset_path: str, profile_name: str, profile_type: str='constraint') -> strmodule function · public name · unreal_tools/physics.py:114
create_physics_asset
def create_physics_asset(skeletal_mesh_path: str, save_path: str='', assign_to_mesh: bool=True) -> strmodule function · public name · unreal_tools/physics.py:124
add_body
def add_body(physics_asset_path: str, bone_name: str, shape_type: str='capsule') -> strmodule function · public name · unreal_tools/physics.py:134
add_constraint
def add_constraint(physics_asset_path: str, bone_name_a: str, bone_name_b: str) -> strmodule function · public name · unreal_tools/physics.py:140
set_collision_profile
def set_collision_profile(actor_query: str, profile_name: str, component_name: str='') -> strmodule function · public name · unreal_tools/physics.py:150
unreal_tools.project
_result
def _result(**payload)module function · internal · unreal_tools/project.py:8
project_snapshot
def project_snapshot(directory='/Game/', mode='standard', limit=1000)module function · public name · unreal_tools/project.py:12
project_debug
def project_debug(directory='/Game/', paths=None, compile_blueprints=True, save=False)module function · public name · unreal_tools/project.py:51
find_references
def find_references(target_name, folder_path='/Game/')module function · public name · unreal_tools/project.py:105
rename_symbol
def rename_symbol(old_name, new_name, folder_path='')module function · public name · unreal_tools/project.py:124
unreal_tools.retarget
_result
def _result(**payload)module function · internal · unreal_tools/retarget.py:8
_load
def _load(unreal, asset_path)module function · internal · unreal_tools/retarget.py:12
_split_path
def _split_path(asset_path, default_name)module function · internal · unreal_tools/retarget.py:19
_save
def _save(unreal, asset)module function · internal · unreal_tools/retarget.py:29
_set_struct_property
def _set_struct_property(value, property_name, property_value)module function · internal · unreal_tools/retarget.py:33
inspect
def inspect(retargeter_path)module function · public name · unreal_tools/retarget.py:42
create_ik_rig
def create_ik_rig(skeletal_mesh_path, save_path='')module function · public name · unreal_tools/retarget.py:56
add_ik_chain
def add_ik_chain(ik_rig_path, chain_name, start_bone, end_bone)module function · public name · unreal_tools/retarget.py:84
create_ik_retargeter
def create_ik_retargeter(source_ik_rig_path, target_ik_rig_path, save_path='')module function · public name · unreal_tools/retarget.py:127
set_chain_mapping
def set_chain_mapping(retargeter_path, source_chain, target_chain)module function · public name · unreal_tools/retarget.py:164
set_root_settings
def set_root_settings(retargeter_path, blend_height=1.0, scale_factor=1.0)module function · public name · unreal_tools/retarget.py:188
set_profile_property
def set_profile_property(retargeter_path, profile_name, property_name, value)module function · public name · unreal_tools/retarget.py:225
unreal_tools.retargeting
_load_asset
def _load_asset(unreal, asset_path: str)module function · internal · unreal_tools/retargeting.py:6
inspect_bone_hierarchy
def inspect_bone_hierarchy(skeletal_mesh_path: str, root_bone: str) -> dictmodule function · public name · unreal_tools/retargeting.py:13
Traverse a SkeletalMesh hierarchy from a caller-supplied root bone.
create_ik_rig
def create_ik_rig(skeletal_mesh_path: str, destination_path: str, asset_name: str, retarget_root: str, chains: list[dict], replace_existing: bool=False, save: bool=True) -> dictmodule function · public name · unreal_tools/retargeting.py:49
Create an IK Rig from explicit bone-chain data and verify its readback.
inspect_ik_rig
def inspect_ik_rig(asset_path: str) -> dictmodule function · public name · unreal_tools/retargeting.py:112
Read back the preview mesh, retarget root, and chain endpoints.
create_ik_retargeter_from_template
def create_ik_retargeter_from_template(template_path: str, destination_path: str, asset_name: str, source_ik_rig_path: str, target_ik_rig_path: str, mapping_mode: str='exact', replace_existing: bool=False, save: bool=True) -> dictmodule function · public name · unreal_tools/retargeting.py:142
Duplicate a project retargeter, rebuild UE 5.8 ops, and map named chains.
inspect_ik_retargeter
def inspect_ik_retargeter(asset_path: str) -> dictmodule function · public name · unreal_tools/retargeting.py:216
Read back rigs, UE 5.8 operation stack, and effective chain mappings.
discover_matching_ik_retargeters
def discover_matching_ik_retargeters(source_skeletal_mesh_path: str, target_skeletal_mesh_path: str) -> dictmodule function · public name · unreal_tools/retargeting.py:262
Find project retargeters whose rig meshes match both requested skeletons.
retarget_animation_with_matching_project_asset
def retarget_animation_with_matching_project_asset(animation_path: str, source_skeletal_mesh_path: str, target_skeletal_mesh_path: str, destination_path: str, destination_suffix: str='_Retargeted', save: bool=True) -> dictmodule function · public name · unreal_tools/retargeting.py:340
Bake through a strictly matching project IK Retargeter and verify output.
retarget_animation
def retarget_animation(animation_path: str, source_skeletal_mesh_path: str, target_skeletal_mesh_path: str, retargeter_path: str, destination_path: str, destination_suffix: str='_Retargeted', save: bool=True) -> dictmodule function · public name · unreal_tools/retargeting.py:388
Retarget one animation and verify its selected target Skeleton identity.
unreal_tools.reverse_foot
_key
def _key(name, kind='Control')module function · internal · unreal_tools/reverse_foot.py:10
_Graph.__init__
def _Graph.__init__(self, blueprint, name, start)class method · internal · unreal_tools/reverse_foot.py:15
_Graph.link
def _Graph.link(self, source, target)class method · internal · unreal_tools/reverse_foot.py:24
_Graph.node
def _Graph.node(self, unit, label, values=None, links=None, execute=False)class method · internal · unreal_tools/reverse_foot.py:28
_transform
def _transform(position)module function · internal · unreal_tools/reverse_foot.py:48
_author_module
def _author_module(module, ankle, pivots, foot_chain)module function · internal · unreal_tools/reverse_foot.py:52
install_reverse_feet
def install_reverse_feet(blueprint, joint_map, pivot_overrides=None)module function · public name · unreal_tools/reverse_foot.py:200
Install on existing rigs and fresh builds using mapped reference bones. Assets are local to each rig, so different characters cannot overwrite one another's pivot placement. Engine-provided modules are never modified. Optional pivot_overrid
verify_reverse_feet
def verify_reverse_feet(blueprint, joint_map=None)module function · public name · unreal_tools/reverse_foot.py:270
Exercise fresh transient instances; never change animator control values.
verify_toe_ik
def verify_toe_ik(blueprint, joint_map)module function · public name · unreal_tools/reverse_foot.py:348
Regression for pelvis lift: SC aims at planted goals without stretching.
unreal_tools.rollback
_journal_path
def _journal_path() -> Pathmodule function · internal · unreal_tools/rollback.py:11
_utc_timestamp
def _utc_timestamp() -> strmodule function · internal · unreal_tools/rollback.py:23
_append
def _append(entry: dict) -> dictmodule function · internal · unreal_tools/rollback.py:27
_read_entries
def _read_entries() -> list[dict]module function · internal · unreal_tools/rollback.py:39
latest
def latest()module function · public name · unreal_tools/rollback.py:54
record_asset_snapshot
def record_asset_snapshot(asset_path, reason='', operation='', metadata=None)module function · public name · unreal_tools/rollback.py:71
restore_asset_snapshot
def restore_asset_snapshot(token='')module function · public name · unreal_tools/rollback.py:109
unreal_tools.runtime
_level_editor
def _level_editor(unreal)module function · internal · unreal_tools/runtime.py:10
_bridge_library
def _bridge_library(unreal)module function · internal · unreal_tools/runtime.py:17
_blueprint_class
def _blueprint_class(unreal, asset_path)module function · internal · unreal_tools/runtime.py:24
_key
def _key(unreal, key_name)module function · internal · unreal_tools/runtime.py:31
_json_result
def _json_result(value)module function · internal · unreal_tools/runtime.py:39
_find_pie_actor
def _find_pie_actor(unreal, actor_class)module function · internal · unreal_tools/runtime.py:46
begin_pie
def begin_pie(simulate=False)module function · public name · unreal_tools/runtime.py:58
pie_status
def pie_status()module function · public name · unreal_tools/runtime.py:81
end_pie
def end_pie()module function · public name · unreal_tools/runtime.py:102
inject_key
def inject_key(key_name, pressed=True)module function · public name · unreal_tools/runtime.py:120
inspect_character
def inspect_character(character_blueprint_path, expected_anim_class_contains='', property_names=None)module function · public name · unreal_tools/runtime.py:132
validate_character_montages
def validate_character_montages(character_blueprint_path, montage_paths, expected_anim_class_contains='')module function · public name · unreal_tools/runtime.py:157
pie_validate
def pie_validate(target_assets=None, expected=None, start_pie=False)module function · public name · unreal_tools/runtime.py:183
Evaluate structured PIE preconditions without treating compile success as gameplay proof.
multiplayer_pie_validate
def multiplayer_pie_validate(target_assets=None, expected=None, client_count=2, start_pie=True)module function · public name · unreal_tools/runtime.py:245
Configure a multi-client PIE session and return structured launch/readback proof.
unreal_tools.sequence_func
create_cinematic_sequence_from_json
def create_cinematic_sequence_from_json(anim_dict_path, destination_path='/Game/Cinematics')module function · public name · unreal_tools/sequence_func.py:7
:param anim_dict_path: path to json with sequence_data :param destination_path: path to where Cinematics are stored in project :return:
unreal_tools.sequence_import_contract
normalize_sequence_manifest
def normalize_sequence_manifest(value: Mapping[str, Any] | None, *, mode: str='gameplay', destination_path: str='/Game/Animations') -> dict[str, Any]module function · public name · unreal_tools/sequence_import_contract.py:18
Normalize v2 or legacy Sequence JSON into one explicit import manifest.
validate_sequence_manifest
def validate_sequence_manifest(value: Mapping[str, Any]) -> tuple[dict[str, Any], ...]module function · public name · unreal_tools/sequence_import_contract.py:95
new_import_result
def new_import_result(manifest: Mapping[str, Any]) -> dict[str, Any]module function · public name · unreal_tools/sequence_import_contract.py:119
finish_import_result
def finish_import_result(result: Mapping[str, Any]) -> dict[str, Any]module function · public name · unreal_tools/sequence_import_contract.py:138
cinematic_payload_from_manifest
def cinematic_payload_from_manifest(value: Mapping[str, Any]) -> dict[str, list[dict[str, Any]]]module function · public name · unreal_tools/sequence_import_contract.py:153
Convert the v2 contract to the established Sequencer assembly payload.
_normalize_entry
def _normalize_entry(value: Mapping[str, Any], index: int, *, default_destination: str='/Game/Animations') -> dict[str, Any]module function · internal · unreal_tools/sequence_import_contract.py:179
_mode
def _mode(value: Any) -> strmodule function · internal · unreal_tools/sequence_import_contract.py:215
_package_folder
def _package_folder(value: Any) -> strmodule function · internal · unreal_tools/sequence_import_contract.py:222
_issue
def _issue(severity: str, code: str, message: str, path: str) -> dict[str, Any]module function · internal · unreal_tools/sequence_import_contract.py:229
_now
def _now() -> strmodule function · internal · unreal_tools/sequence_import_contract.py:233
unreal_tools.sequence_importer
add_actor_to_level_sequence
def add_actor_to_level_sequence(sequence_path, asset_path, actor=None, possessable=None, namespace=None)module function · public name · unreal_tools/sequence_importer.py:16
Adds a blueprint actor and its components to a level sequence, creating and binding the actor and components. :param sequence_path: The level sequence path to which the actor and components will be added. :param asset_path: The path to the
add_skeletal_mesh_components_to_level_sequence
def add_skeletal_mesh_components_to_level_sequence(actor, possessable)module function · public name · unreal_tools/sequence_importer.py:94
Adds skeletal mesh components to the level sequence. :param actor: The actor containing the skeletal mesh components. :param possessable: The possessable associated with the actor. :return: A list of components added to the sequence.
add_camera_actor_to_level_sequence
def add_camera_actor_to_level_sequence(sequence, camera_actor=None, camera_name=None)module function · public name · unreal_tools/sequence_importer.py:125
Adds a CineCameraActor to the level sequence. :param sequence: The LevelSequence asset where the camera should be added. :param camera_actor: (Optional) The CineCameraActor to add. If None, a new one will be created. :param camera_name: (Op
add_shot_track_to_master_sequence
def add_shot_track_to_master_sequence(master_sequence)module function · public name · unreal_tools/sequence_importer.py:158
Adds shot track if it doesnt exist to master sequence :param master_sequence: Master sequence asset :return:
add_shot_sequence_section_to_shot_track
def add_shot_sequence_section_to_shot_track(shot_track, shot_sequence, start_frame, end_frame)module function · public name · unreal_tools/sequence_importer.py:176
Adds section for shot sequence to shot track if it doesn't exist :param shot_track: :param shot_sequence: :param start_frame: :param end_frame: :return:
add_anim_to_level_sequence
def add_anim_to_level_sequence(animation_path, anim_track, anim_section=None, start_frame=0, root_motion=None)module function · public name · unreal_tools/sequence_importer.py:201
Adds an animation to a track in the level sequence without shifting animation keyframe timing. Places the animation so its first keyframe starts exactly at start_frame. :param animation_path: Path to the animation asset. :param anim_track:
add_anim_track_to_possessable
def add_anim_track_to_possessable(possessable, animation_asset_path=None, root_motion=None)module function · public name · unreal_tools/sequence_importer.py:231
Adds an animation track and section to the possessable, ensuring no duplicates. :param possessable: The possessable to which the animation track will be added. :param animation_asset_path: The path to the animation asset (e.g. FBX). :return
add_blueprint_mesh_components_to_level_sequence
def add_blueprint_mesh_components_to_level_sequence(blueprint_path, sequence_path, actor, control_rig=True)module function · public name · unreal_tools/sequence_importer.py:262
Adds specific mesh components from a blueprint actor to a level sequence. Adds 'Mesh' (typically CharacterMesh0), 'Body', and 'Face' components if they exist. :param blueprint_path: The blueprint asset path bound in the Level Sequence. :par
add_camera_anim_to_level_sequence
def add_camera_anim_to_level_sequence(shot_sequence, camera_actor, world, export_path, anim_range)module function · public name · unreal_tools/sequence_importer.py:381
Imports and applies a camera animation to a CineCameraActor inside a Level Sequence, and offsets the animation so that the first keyframe is at frame 0 of the sequence. Also adds a Camera Cut Track to switch the camera at frame 0. :param sh
get_control_rig_class
def get_control_rig_class(control_rig_path='Face_ControlBoard_CtrlRig')module function · public name · unreal_tools/sequence_importer.py:463
:param control_rig_path: :return:
offset_key_times_in_section
def offset_key_times_in_section(section, offset_frames)module function · public name · unreal_tools/sequence_importer.py:477
:param section: section to offset :param offset_frames: frame value to offset :return:
offset_float_track_keys
def offset_float_track_keys(track, offset_frames)module function · public name · unreal_tools/sequence_importer.py:501
Offsets all float keys in a MovieSceneFloatTrack by a given number of frames. :param track: The MovieSceneFloatTrack to modify. :param offset_frames: The number of frames to offset the keys by.
offset_transform_track_keys
def offset_transform_track_keys(track, offset_frames)module function · public name · unreal_tools/sequence_importer.py:512
:param track: Should be a MovieScene3DTransformTrack :param offset_frames: The number of frames to offset the keys by. :return:
list_all_tracks_in_sequence
def list_all_tracks_in_sequence(sequence)module function · public name · unreal_tools/sequence_importer.py:524
:param sequence: The Sequence asset to parse :return:
get_skeleton_from_skeletal_mesh_using_metadata
def get_skeleton_from_skeletal_mesh_using_metadata(skeletal_mesh_path)module function · public name · unreal_tools/sequence_importer.py:535
Get the skeleton from a given skeletal mesh by retrieving metadata tags. :param skeletal_mesh_path: The asset path of the skeletal mesh (e.g., "/Game/Characters/Hero/Hero_SkeletalMesh") :return: The skeleton associated with the given skelet
find_skeletal_meshes_using_skeleton
def find_skeletal_meshes_using_skeleton(skeleton_asset_path)module function · public name · unreal_tools/sequence_importer.py:549
Finds all Skeletal Mesh assets that use the given Skeleton asset. :param skeleton_asset_path: The full asset path to the Skeleton (e.g. "/Game/Characters/Hero/Hero_Skeleton") :return: A list of SkeletalMesh asset objects that use the given
get_blueprints_using_skeleton_cmd
def get_blueprints_using_skeleton_cmd(skeleton_path, asset_registry=None)module function · public name · unreal_tools/sequence_importer.py:591
Finds all Blueprints using a given skeleton, prioritizing CinematicCharacter Blueprints, and only checks for CinematicCharacter, Actor, and Character Blueprints. :param skeleton_path: The asset path of the skeleton (e.g., "/Game/Characters/
get_possessables_for_sequence
def get_possessables_for_sequence(level_sequence)module function · public name · unreal_tools/sequence_importer.py:659
Retrieves all possessables (actors) bound to the given level sequence. :param level_sequence: The Level Sequence asset to get the possessables from. :return: A list of possessable objects (MovieSceneBindingProxy).
get_blueprints_using_skeleton
def get_blueprints_using_skeleton(skeleton_path, asset_registry=None, mesh_string=None)module function · public name · unreal_tools/sequence_importer.py:671
Finds all Blueprints using a given skeleton, prioritizing CinematicCharacter Blueprints, and only checks for CinematicCharacter, Actor, and Character Blueprints. :param skeleton_path: The asset path of the skeleton (e.g., "/Game/Characters/
get_blueprint_binding_in_sequence
def get_blueprint_binding_in_sequence(blueprint_path, sequence_path)module function · public name · unreal_tools/sequence_importer.py:734
Returns the binding for a Blueprint actor in the Level Sequence, if it exists. Compares the binding name to the actor name. :param blueprint_path: Path to the Blueprint asset (e.g., "/Game/Blueprints/MyActorBP") :param sequence_path: Path t
get_top_level_mesh_component
def get_top_level_mesh_component(actor)module function · public name · unreal_tools/sequence_importer.py:764
resolve_skeleton_path
def resolve_skeleton_path(skeleton_identifier)module function · public name · unreal_tools/sequence_importer.py:778
Resolve an unambiguous Skeleton package path or raise an actionable error.
_is_skeleton_asset
def _is_skeleton_asset(asset)module function · internal · unreal_tools/sequence_importer.py:811
get_skeleton_path_by_name
def get_skeleton_path_by_name(skeleton_name)module function · public name · unreal_tools/sequence_importer.py:821
Retrieves the asset path of a skeleton based on its name using Unreal's Asset Registry. :param skeleton_name: Name of the skeleton asset (e.g., "SK_Mannequin"). :return: The asset path of the skeleton (e.g., "/Game/Characters/Hero/Hero_Skel
extract_shot_number_from_path
def extract_shot_number_from_path(export_path)module function · public name · unreal_tools/sequence_importer.py:835
Extracts the shot number from the export path, which contains 'shot' as part of its name. :param export_path: The export path containing the shot number (e.g., "MyAnimation_Shot1_Anim.fbx"). :return: The shot number as an integer (e.g., 1 f
import_gameplay_animations_from_json
def import_gameplay_animations_from_json(anim_dict_path)module function · public name · unreal_tools/sequence_importer.py:852
Import gameplay animations, replaces Art Source Dir with Content Dir :param anim_dict_path: Exported Dict with the data to import :return:
preflight_sequence_import_from_json
def preflight_sequence_import_from_json(anim_dict_path, mode='gameplay', destination_path='/Game/Animations')module function · public name · unreal_tools/sequence_importer.py:929
Resolve an import job without creating or modifying Unreal assets.
_asset_metadata
def _asset_metadata(asset_path, key)module function · internal · unreal_tools/sequence_importer.py:1015
_write_import_provenance
def _write_import_provenance(asset_path, entry, manifest)module function · internal · unreal_tools/sequence_importer.py:1026
_source_control_status
def _source_control_status(policy)module function · internal · unreal_tools/sequence_importer.py:1044
_prepare_source_control_write
def _prepare_source_control_write(asset_path, *, exists, policy)module function · internal · unreal_tools/sequence_importer.py:1066
_mark_source_control_add
def _mark_source_control_add(asset_path, *, policy)module function · internal · unreal_tools/sequence_importer.py:1079
_mark_new_asset_or_rollback
def _mark_new_asset_or_rollback(asset_path, *, policy)module function · internal · unreal_tools/sequence_importer.py:1092
_revert_unchanged_source_control
def _revert_unchanged_source_control(*, checkout_path)module function · internal · unreal_tools/sequence_importer.py:1100
import_animation
def import_animation(anim_path, skeleton_path, destination_path, destination_name, replace_existing=True)module function · public name · unreal_tools/sequence_importer.py:1110
Imports an animation asset into Unreal Engine, optionally reimporting if it already exists. :param anim_path: Path to the animation FBX file. :param skeleton_path: Path to the skeleton asset for the animation. :param destination_path: Desti
_next_versioned_name
def _next_versioned_name(destination_path, destination_name)module function · internal · unreal_tools/sequence_importer.py:1131
build_import_options
def build_import_options(skeleton_path)module function · public name · unreal_tools/sequence_importer.py:1140
Creates the import options for importing an animation in Unreal Engine. :param skeleton_path: Path to the skeleton asset for the animation. :return: Unreal FBX import UI object with specified settings.
load_level_sequence
def load_level_sequence(sequence_path='/Game/Cinematics/Test_Anim/Test_Anim_shot1/Test_Anim_shot1')module function · public name · unreal_tools/sequence_importer.py:1166
:param sequence_path: full path to sequence to load, checks current sequence for match first :return:
get_level_sequence_actor
def get_level_sequence_actor(level_sequence_asset)module function · public name · unreal_tools/sequence_importer.py:1187
Returns the Level Sequence Actor that references the given LevelSequence asset in the level. :param level_sequence_asset: The LevelSequence asset to search for in the level. :return: The Level Sequence Actor if found, else None.
get_full_range
def get_full_range(level_sequence)module function · public name · unreal_tools/sequence_importer.py:1205
gets range for use in get_bound_objects :param level_sequence: level sequence asset :return:
get_actor_from_possessable
def get_actor_from_possessable(sequence_path, actor_binding)module function · public name · unreal_tools/sequence_importer.py:1219
Retrieves the actor bound to the given possessable within a Level Sequence. :param actor_binding: The possessable (actor binding) in the sequence. :param sequence_path: The level sequence to search within. :return: The actor bound to the po
get_actor_from_binding
def get_actor_from_binding(sequence_path, blueprint_binding)module function · public name · unreal_tools/sequence_importer.py:1240
Retrieve the actor bound to a sequence via the blueprint binding. :param sequence_path: Path to the Level Sequence. :param blueprint_binding: The binding that we are checking. :return: Actor or None if not found.
get_blueprint_class_from_binding
def get_blueprint_class_from_binding(blueprint_binding)module function · public name · unreal_tools/sequence_importer.py:1271
Retrieves the Blueprint class from the binding. :param blueprint_binding: The MovieSceneBindingProxy for the blueprint. :return: The BlueprintGeneratedClass for the actor in the binding.
get_existing_blueprint_mesh_components_in_level_sequence
def get_existing_blueprint_mesh_components_in_level_sequence(blueprint, sequence_path, actor=None)module function · public name · unreal_tools/sequence_importer.py:1295
Detects existing mesh components (such as 'Mesh', 'Body', and 'Face') that have already been added to the Level Sequence from the given blueprint. :param blueprint: The Blueprint path to check for mesh components. :param sequence_path: The
render_level_sequence
def render_level_sequence(level_sequence_path, output_directory, resolution=(1920, 1080))module function · public name · unreal_tools/sequence_importer.py:1339
Renders a level sequence to the specified directory. :param level_sequence_path: Path to the level sequence to render. :param output_directory: Directory where the rendered output will be saved. :param resolution: Resolution of the render.
write_dict_to_file
def write_dict_to_file(anim_dict, file_path)module function · public name · unreal_tools/sequence_importer.py:1363
Writes a dictionary to a JSON file. :param anim_dict: The dictionary to write to a file. :param file_path: Path where the file will be saved. :return: Path to the saved file.
read_dict_from_file
def read_dict_from_file(file_path)module function · public name · unreal_tools/sequence_importer.py:1380
Reads a dictionary from a JSON file. :param file_path: Path to the JSON file. :return: The dictionary read from the file.
list_all_maps
def list_all_maps()module function · public name · unreal_tools/sequence_importer.py:1400
find_uasset_path
def find_uasset_path(file_name)module function · public name · unreal_tools/sequence_importer.py:1407
Finds the path of a .uasset file by name. :param file_name: The name of the asset to find. :return: Path to the asset if found, None otherwise.
find_actor_by_blueprint_or_skeletal_mesh
def find_actor_by_blueprint_or_skeletal_mesh(blueprint_path=None, skeletal_mesh_path=None, shot_sequence=None, namespace=None)module function · public name · unreal_tools/sequence_importer.py:1429
Helper function to find an actor in the current level by its blueprint or directly by SkeletalMeshActor. It also returns the possessable for the found actor and the actor's components. :param blueprint_path: (Optional) The path to the bluep
find_possessable_for_actor
def find_possessable_for_actor(actor, shot_sequence)module function · public name · unreal_tools/sequence_importer.py:1481
Find the possessable for the given actor in the provided shot sequence. :param actor: The actor to search for. :param shot_sequence: The LevelSequence to search within. :return: The possessable object if found, otherwise None.
find_binding_for_component
def find_binding_for_component(sequence_path, component_name)module function · public name · unreal_tools/sequence_importer.py:1496
Finds the MovieSceneBinding in the Level Sequence located at the given path that corresponds to the specified component in the current level. :param sequence_path: The path to the Level Sequence asset in the content browser. :param componen
find_camera_component_in_scene
def find_camera_component_in_scene()module function · public name · unreal_tools/sequence_importer.py:1518
Finds the CineCameraActor in the scene that should be used for the camera animation. :return: The CineCameraActor component if found, else None.
set_section_range
def set_section_range(section, start_frame, end_frame)module function · public name · unreal_tools/sequence_importer.py:1536
Sets the start and end time for the given section directly. :param section: actual section object in sequencer :param start_frame: start frame to set the section to :param end_frame: end frame to set the section to :return:
get_section_range
def get_section_range(section)module function · public name · unreal_tools/sequence_importer.py:1548
Gets the range for the defined section :param section: actual section object in sequencer :return: list of the start and end frames
set_sequence_range
def set_sequence_range(sequence, start_frame, end_frame)module function · public name · unreal_tools/sequence_importer.py:1560
Sets the start and end time for the given Level Sequence directly. :param sequence: The LevelSequence asset to modify. :param start_frame: The start time (in frames). :param end_frame: The end time (in frames).
update_asset_registry_and_save
def update_asset_registry_and_save(asset_directory, asset_path)module function · public name · unreal_tools/sequence_importer.py:1573
Saves the asset after refreshing, seems necessary from cmd.exe :param asset_directory: directory to refresh assets for :param asset_path: asset path to save :return:
set_frame_rate
def set_frame_rate(sequence, fps, numerator=None, denominator=None)module function · public name · unreal_tools/sequence_importer.py:1585
Sets the start and end time for the given Level Sequence directly. :param sequence: The LevelSequence asset to modify. :param fps: Frame Rate from Export data
create_level_sequence
def create_level_sequence(sequence_name, destination_path='/Game/Cinematics/')module function · public name · unreal_tools/sequence_importer.py:1601
Creates a new Level Sequence asset in the specified path. :param sequence_name: Name for the new Level Sequence. :param destination_path: Path where the Level Sequence will be created. :return: List containing the created Level Sequence ass
create_cinematic_sequence_from_json
def create_cinematic_sequence_from_json(anim_dict_path, destination_path='/Game/Cinematics/', from_cmd=True)module function · public name · unreal_tools/sequence_importer.py:1627
Creates a cinematic sequence in Unreal Engine from a JSON file. :param anim_dict_path: Path to the JSON file containing animation data, generated from maya export :param destination_path: Path to the directory where the cinematic sequence w
CinematicEntryImportError.__init__
def CinematicEntryImportError.__init__(self, entry_id, entry_name, original_error, completed_entry_ids=())class method · internal · unreal_tools/sequence_importer.py:1686
retry_failed_cinematic_sequence_from_json
def retry_failed_cinematic_sequence_from_json(anim_dict_path, previous_result, destination_path='/Game/Cinematics/', from_cmd=False)module function · public name · unreal_tools/sequence_importer.py:1694
Retry only cinematic entries explicitly reported as failed.
create_cinematic_sequence
def create_cinematic_sequence(anim_dict, sequence_name, destination_path='/Game/Cinematics', source_control_policy='auto')module function · public name · unreal_tools/sequence_importer.py:1731
Creates a master cinematic sequence and sub-sequences for each shot. Imports animations and adds actors accordingly. :param anim_dict: anim dictionary containing animation data, generated from maya export :param sequence_name: name of maste
unreal_tools.sequence_preflight_func
main
def main()module function · public name · unreal_tools/sequence_preflight_func.py:10
unreal_tools.sequence_publish_adapter
manifest_from_workspace
def manifest_from_workspace(document: Mapping[str, Any], *, mode: str='gameplay', destination_path: str='/Game/Animations', conflict_policy: str='update', source_control_policy: str='auto') -> dict[str, Any]module function · public name · unreal_tools/sequence_publish_adapter.py:15
_file_sha256
def _file_sha256(path: str) -> strmodule function · internal · unreal_tools/sequence_publish_adapter.py:56
publish_sequence_workspace
def publish_sequence_workspace(document: Mapping[str, Any], *, mode: str='gameplay', destination_path: str='/Game/Animations', conflict_policy: str='update', source_control_policy: str='auto', unreal_project_path: str='', unreal_command_path: str='', log_file_path: str='') -> dict[str, Any]module function · public name · unreal_tools/sequence_publish_adapter.py:66
Submit one workspace through the live bridge, with command fallback when configured.
preflight_sequence_workspace
def preflight_sequence_workspace(document: Mapping[str, Any], *, mode: str='gameplay', destination_path: str='/Game/Animations', conflict_policy: str='update', source_control_policy: str='auto', unreal_project_path: str='', unreal_command_path: str='', log_file_path: str='') -> dict[str, Any]module function · public name · unreal_tools/sequence_publish_adapter.py:142
Resolve sources, skeletons, conflicts, and actions without importing.
unreal_tools.sequencer
_result
def _result(**payload)module function · internal · unreal_tools/sequencer.py:8
_load_sequence
def _load_sequence(unreal, sequence_path)module function · internal · unreal_tools/sequencer.py:12
get_tracks
def get_tracks(sequence_path)module function · public name · unreal_tools/sequencer.py:19
delete_track
def delete_track(sequence_path, track_name, save=True)module function · public name · unreal_tools/sequencer.py:39
validate_playback
def validate_playback(sequence_path='', expected_assets=None, open_sequence=False)module function · public name · unreal_tools/sequencer.py:57
Read back a Level Sequence enough to prove it can be validated.
create_float_track
def create_float_track(sequence_path, track_name, keys, display_rate=30, replace_existing=True, save=True)module function · public name · unreal_tools/sequencer.py:91
Creates a keyed master float track in a Level Sequence. :param sequence_path: Unreal Level Sequence content path :param track_name: display name for the float track :param keys: frame/value pairs :param display_rate: display frames per seco
_camera_key_rows
def _camera_key_rows(camera_spec)module function · internal · unreal_tools/sequencer.py:192
Normalizes one camera's transform keys. :param camera_spec: camera specification containing transform keys :return: sorted camera transform key rows
author_camera_cuts
def author_camera_cuts(sequence_path, cameras, display_rate=30, replace_existing=False, save=True)module function · public name · unreal_tools/sequencer.py:224
Authors spawnable cinematic cameras, transform keys, and camera cuts. :param sequence_path: Unreal Level Sequence content path :param cameras: ordered camera specifications with names, ranges, and transform keys :param display_rate: display
unreal_tools.skeletal
_load_mesh
def _load_mesh(unreal, skeletal_mesh_path)module function · internal · unreal_tools/skeletal.py:8
inspect_bones
def inspect_bones(skeletal_mesh_path, include_hierarchy=True)module function · public name · unreal_tools/skeletal.py:19
Return bone names and parent/child readback for a SkeletalMesh.
inspect_sockets
def inspect_sockets(skeletal_mesh_path)module function · public name · unreal_tools/skeletal.py:66
Return indexed socket names, parent bones, and local transforms.
unreal_tools.skeletal_mesh_import
character_asset_folder
def character_asset_folder(parent_path: str, rig_name: str) -> strmodule function · public name · unreal_tools/skeletal_mesh_import.py:10
Return the per-character Unreal folder below *parent_path*.
_asset_path
def _asset_path(asset: Any) -> strmodule function · internal · unreal_tools/skeletal_mesh_import.py:19
list_skeletal_import_targets
def list_skeletal_import_targets(directory: str='/Game') -> dict[str, Any]module function · public name · unreal_tools/skeletal_mesh_import.py:25
_rename_asset
def _rename_asset(unreal: Any, source: str, destination: str) -> strmodule function · internal · unreal_tools/skeletal_mesh_import.py:53
import_skeletal_mesh_fbx
def import_skeletal_mesh_fbx(source_file: str, rig_name: str, destination_path: str='/Game/Characters', *, existing_skeletal_mesh_path: str='', skeleton_mode: str='create_new', existing_skeleton_path: str='', create_physics_asset: bool=True) -> dict[str, Any]module function · public name · unreal_tools/skeletal_mesh_import.py:64
Import or update one Skeletal Mesh with an explicit skeleton policy.
unreal_tools.sound_cue
_asset_parts
def _asset_parts(asset_path)module function · internal · unreal_tools/sound_cue.py:8
Gets the package path and asset name. :param asset_path: Unreal content path :return: package path and asset name
inspect_sound_cue
def inspect_sound_cue(asset_path)module function · public name · unreal_tools/sound_cue.py:24
Inspects a Sound Cue's playable root and referenced Sound Wave. :param asset_path: Unreal Sound Cue content path :return: JSON Sound Cue structural readback receipt
create_from_wave
def create_from_wave(asset_path, sound_wave_path, looping=False, volume_multiplier=1.0, pitch_multiplier=1.0, overwrite=False, dry_run=False, cleanup_on_failure=True)module function · public name · unreal_tools/sound_cue.py:104
Creates a playable Sound Cue from a Sound Wave and verifies its root node. :param asset_path: destination Unreal Sound Cue content path :param sound_wave_path: source Unreal Sound Wave content path :param looping: whether the generated Wave
unreal_tools.unreal_project_data
get_engine_association
def get_engine_association(uproject_path)module function · public name · unreal_tools/unreal_project_data.py:15
Returns the Engine Version for the uproject :param uproject_path: actual uproject path :return: If found, returns the Engine Version for the unreal version
get_unreal_cmd_exe
def get_unreal_cmd_exe(uproject_path)module function · public name · unreal_tools/unreal_project_data.py:26
Returns the Engine cmd exe location for the uproject :param uproject_path: actual uproject path :return: If found, returns the cmd.exe for the unreal version
get_unreal_install_path
def get_unreal_install_path(engine_version)module function · public name · unreal_tools/unreal_project_data.py:56
Check the Windows Registry for Unreal Engine install locations. :param engine_version: after finding engine version, it fills in the rest :return:
get_latest_unreal_log
def get_latest_unreal_log(uproject_path)module function · public name · unreal_tools/unreal_project_data.py:95
Finds the latest modified Unreal Engine log file for a given .uproject. :param uproject_path: actual uproject path :return:
ensure_unreal_python_plugin_enabled
def ensure_unreal_python_plugin_enabled(uproject_path)module function · public name · unreal_tools/unreal_project_data.py:121
Enables PythonScriptPlugin in the .uproject if the project does not already declare it. Unreal needs this plugin for startup Python scripts.
_tree_digest
def _tree_digest(root)module function · internal · unreal_tools/unreal_project_data.py:154
_set_uproject_plugin_enabled
def _set_uproject_plugin_enabled(uproject_path, plugin_name, enabled=True)module function · internal · unreal_tools/unreal_project_data.py:168
_compiled_plugin_status
def _compiled_plugin_status(plugin_root)module function · internal · unreal_tools/unreal_project_data.py:196
install_ai_studio_bridge_plugin
def install_ai_studio_bridge_plugin(uproject_path, source_plugin_root=None)module function · public name · unreal_tools/unreal_project_data.py:227
Install source and enable the plugin only when its editor binary is current.
build_ai_studio_bridge_plugin
def build_ai_studio_bridge_plugin(uproject_path, source_plugin_root=None, progress_callback=None)module function · public name · unreal_tools/unreal_project_data.py:333
Build, install, and enable AIStudioBridge while streaming progress.
add_unreal_startup_script
def add_unreal_startup_script(uproject_path, script_path)module function · public name · unreal_tools/unreal_project_data.py:462
Adds a startup script to DefaultEngine.ini for a given Unreal project. Appends to StartupScripts[N]=... under [PythonScriptPlugin.PythonScriptPluginSettings]. :param uproject_path: actual uproject path :param script_path: Full path to the P
unreal_tools.unreal_subprocess
_post_unreal
def _post_unreal(payload)module function · internal · unreal_tools/unreal_subprocess.py:9
_run_sequence_command
def _run_sequence_command(script_name, payload, unreal_project_path, unreal_command_path, timeout=900)module function · internal · unreal_tools/unreal_subprocess.py:27
Run one isolated Unreal command job and read its structured result file.
_validate_asset_result
def _validate_asset_result(data, asset_type)module function · internal · unreal_tools/unreal_subprocess.py:67
run_list_skeletal_import_targets
def run_list_skeletal_import_targets(directory='/Game')module function · public name · unreal_tools/unreal_subprocess.py:77
List Skeletal Mesh, Skeleton, and PhysicsAsset choices in the live Unreal Editor.
run_import_skeletal_mesh_fbx
def run_import_skeletal_mesh_fbx(source_file, rig_name, destination_path='/Game/Characters', existing_skeletal_mesh_path='', skeleton_mode='create_new', existing_skeleton_path='', create_physics_asset=True)module function · public name · unreal_tools/unreal_subprocess.py:85
Import/update a skeletal FBX through the authenticated live Unreal bridge.
run_get_skeletons
def run_get_skeletons(unreal_project_path, log_file_path, unreal_command_path='C:/Program Files/Epic Games/UE_5.5/Engine/Binaries/Win64/UnrealEditor-Cmd.exe', asset_type='Skeleton')module function · public name · unreal_tools/unreal_subprocess.py:107
:param asset_type: type of asset to search for :param unreal_project_path: path to the unreal project :param log_file_path: log file path for returning output (function exists to find this in unreal_project_data.py) :param unreal_command_pa
run_create_cinematic_sequence
def run_create_cinematic_sequence(anim_dict_path, destination_path, unreal_project_path, log_file_path, unreal_command_path='C:/Program Files/Epic Games/UE_5.5/Engine/Binaries/Win64/UnrealEditor-Cmd.exe')module function · public name · unreal_tools/unreal_subprocess.py:149
:param anim_dict_path: Path of Json data :param destination_path: Path to save Cinematic :param unreal_project_path: path to the unreal project :param log_file_path: log file path for returning output (function exists to find this in unreal
run_retry_failed_cinematic_sequence
def run_retry_failed_cinematic_sequence(anim_dict_path, previous_result, destination_path, unreal_project_path, log_file_path, unreal_command_path='C:/Program Files/Epic Games/UE_5.5/Engine/Binaries/Win64/UnrealEditor-Cmd.exe')module function · public name · unreal_tools/unreal_subprocess.py:178
Retry only entry IDs identified as failed by a previous cinematic job.
run_import_gameplay_animations
def run_import_gameplay_animations(anim_dict_path, unreal_project_path, log_file_path, unreal_command_path='C:/Program Files/Epic Games/UE_5.5/Engine/Binaries/Win64/UnrealEditor-Cmd.exe')module function · public name · unreal_tools/unreal_subprocess.py:201
:param anim_dict_path: Path of Json data :param unreal_project_path: path to the unreal project :param log_file_path: log file path for returning output (function exists to find this in unreal_project_data.py) :param unreal_command_path: un
run_preflight_sequence_import
def run_preflight_sequence_import(anim_dict_path, unreal_project_path='', log_file_path='', unreal_command_path='C:/Program Files/Epic Games/UE_5.5/Engine/Binaries/Win64/UnrealEditor-Cmd.exe', mode='gameplay', destination_path='/Game/Animations')module function · public name · unreal_tools/unreal_subprocess.py:225
Run the same Unreal resolution checks as import without modifying assets.
run_create_modular_control_rig
def run_create_modular_control_rig(skeletal_mesh_name, rig_name, joint_map, unreal_project_path, log_file_path, unreal_command_path='C:/Program Files/Epic Games/UE_5.5/Engine/Binaries/Win64/UnrealEditor-Cmd.exe')module function · public name · unreal_tools/unreal_subprocess.py:249
:param joint_map: Joint Map from HumanIK UI, for clear mapping for biped body parts :param rig_name: control rig asset name (saved to same folder as skeletal mesh) :param skeletal_mesh_name: skeletal mesh to assign to rig :param unreal_proj
unreal_tools.validate
_asset_exists
def _asset_exists(unreal, path: str) -> boolmodule function · internal · unreal_tools/validate.py:8
references
def references(paths=None, compile_blueprints=True, save=False)module function · public name · unreal_tools/validate.py:15
Validate paths and optionally compile Blueprints without saving by default.
unreal_tools.widget
author_canvas_text
def author_canvas_text(widget_blueprint_path, root_name='RootCanvas', text_name='TitleText', text='Tech Connector', save=True)module function · public name · unreal_tools/widget.py:8
Authors a CanvasPanel and TextBlock in a Widget Blueprint. :param widget_blueprint_path: Unreal Widget Blueprint content path :param root_name: root CanvasPanel name :param text_name: child TextBlock name :param text: text content :param sa
author_from_spec
def author_from_spec(widget_blueprint_path, widgets, save=True)module function · public name · unreal_tools/widget.py:43
Authors a validated Widget Blueprint hierarchy from a specification. :param widget_blueprint_path: Unreal Widget Blueprint content path :param widgets: widget hierarchy specification or widget list :param save: whether to save the Widget Bl