Sequencer
Every Sequencer command in CodeFizz Editor Agent, with parameters and examples.
Every Sequencer command in CodeFizz Editor Agent, with parameters and examples.
220 commands. Each shows its parameters and an example, and has a copyable deep link, so you (or an AI agent) can jump straight to one.
create_level_sequenceCreate a new Level Sequence asset
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Content path, e.g. /Game/Cine/Shot010 |
| force | bool | No | Overwrite if it already exists |
| fps | float | No | Display rate FPS (e.g. 30, 24, 60) |
| display_rate_numerator | int | No | Exact display rate numerator |
| display_rate_denominator | int | No | Exact display rate denominator |
open_level_sequenceOpen a Level Sequence in the Sequencer editor
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
get_sequence_infoRead timeline settings + binding/track counts
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
set_playback_rangeSet the playback range (frames or seconds)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| start_frame | float | No | Start in display-rate frames |
| end_frame | float | No | End in display-rate frames |
| duration_frames | float | No | Duration in frames (overrides end_frame) |
| start_seconds | float | No | Start in seconds |
| end_seconds | float | No | End in seconds |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
set_display_rateSet the display rate / FPS
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| fps | float | No | Frames per second |
| numerator | int | No | Exact rate numerator |
| denominator | int | No | Exact rate denominator |
set_tick_resolutionSet the tick resolution (migrating)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| fps | float | No | Ticks per second |
| numerator | int | No | Exact rate numerator |
| denominator | int | No | Exact rate denominator |
add_possessableBind an existing level actor as a possessable
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| actor_name | string | Yes | Label or name of the level actor |
add_spawnable_from_classAdd a spawnable binding from a class
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| class_name | string | Yes | Class (short or /Script/...) e.g. PointLight |
| name | string | No | Optional display name for the binding |
add_spawnable_from_actorAdd a spawnable binding from a level actor template
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| actor_name | string | Yes | Label or name of the level actor |
| name | string | No | Optional display name for the binding |
list_bindingsList bindings (possessables + spawnables), filterable by type/name
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| type_filter | string | No | Substring filter on bound-object class (e.g. Light, SkeletalMesh, Camera) |
| name_filter | string | No | Substring filter on binding display name |
| max_results | int | No | Max bindings to return (0 = all) |
rename_bindingRename a binding by GUID
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Binding GUID from list_bindings |
| name | string | Yes | New display name |
remove_bindingRemove a binding by GUID
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Binding GUID from list_bindings |
convert_to_spawnableConvert a possessable binding to spawnable
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Binding GUID from list_bindings |
convert_to_possessableConvert a spawnable binding to possessable
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Binding GUID from list_bindings |
list_track_typesList available track classes (reflection)
| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | No | Case-insensitive substring on class name |
| max_results | int | No | Max results (0 = all) |
list_tracksList tracks on a binding (or root tracks)
eval_disabled is only present when the track is evaluation-disabled, and muted only when the track is muted, so an ordinary track carries neither. Mute is read-only for now, and reported on UE 5.7 and 5.8 only: 5.6 stores it as outliner node-path strings that need the Sequencer view model.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root/master tracks |
| filter | string | No | Substring filter on the track class or display name |
| max_results | int | No | Max tracks to return (0 = all); reports truncated |
add_trackAdd an object-bound track to a binding
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Binding GUID from list_bindings |
| track_type | string | Yes | Track class, e.g. MovieScene3DTransformTrack |
add_root_trackAdd a root/master track (camera cut, audio...)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| track_type | string | Yes | Root track class, e.g. MovieSceneCameraCutTrack |
remove_trackRemove a track by index
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index from list_tracks |
add_sectionAdd a section to a track
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index from list_tracks |
| start_frame | float | No | Start in display-rate frames |
| end_frame | float | No | End in display-rate frames |
| start_seconds | float | No | Start in seconds (with use_seconds) |
| end_seconds | float | No | End in seconds (with use_seconds) |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
| row_index | int | No | Row index (default 0) |
list_sectionsList sections on a track (display-rate frames; reports ease_in/ease_out and blend_type when set)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index from list_tracks |
| filter | string | No | Substring filter on the section class name |
| max_results | int | No | Max sections to return (0 = all); reports truncated |
set_section_rangeSet a section's range (frames or seconds)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index from list_tracks |
| section_index | int | Yes | Section index from list_sections |
| start_frame | float | No | Start in display-rate frames; omit to keep the current start |
| end_frame | float | No | End in display-rate frames; omit to keep the current end |
| start_seconds | float | No | Start in seconds (with use_seconds); omit to keep the current start |
| end_seconds | float | No | End in seconds (with use_seconds); omit to keep the current end |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
remove_sectionRemove a section by index
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index from list_tracks |
| section_index | int | Yes | Section index from list_sections |
set_track_propertySet a property on a track (universal writer)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index from list_tracks |
| property | string | Yes | Property name or path; [N] index, [-] append and [Key] map rows work (see set_object_property) |
| value | json | Yes | New value (JSON) |
set_section_propertySet a property on a section (universal writer)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index from list_tracks |
| section_index | int | Yes | Section index from list_sections |
| property | string | Yes | Property name or path; [N] index, [-] append and [Key] map rows work (see set_object_property) |
| value | json | Yes | New value (JSON) |
list_channelsList a section's animatable channels
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index from list_tracks |
| section_index | int | Yes | Section index from list_sections |
| filter | string | No | Substring filter on the channel name |
| max_results | int | No | Max channels to return (0 = all); reports truncated |
add_keyAdd a keyframe to a channel
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index from list_tracks |
| section_index | int | Yes | Section index from list_sections |
| channel | string | Yes | Channel name from list_channels, e.g. Location.X |
| value | json | Yes | Key value (number/bool) |
| frame | float | No | Time in display-rate frames |
| seconds | float | No | Time in seconds (with use_seconds) |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
| interpolation | string | No | auto | cubic | linear | constant (float/double) |
list_keysList keys on a channel (compact: time + value, one shared interp)
Each key is {time, value} in the requested time_unit. The interpolation shared by most keys is reported once as the result's interp field, and only the keys that differ from it carry their own interp; cubic is the engine default, so an all-cubic channel reports no interp at all. Defaults to 30 keys; page a baked curve with --offset. The result carries offset, total_matched and truncated.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index from list_tracks |
| section_index | int | Yes | Section index from list_sections |
| channel | string | Yes | Channel name from list_channels; a property track's single channel also answers to Value |
| max_results | int | No | Max keys to return (default 30, 0 = all); reports truncated |
| offset | int | No | Keys to skip before collecting, for paging |
| time_unit | string | No | Unit the key times are reported in: frames (default) | ticks | seconds |
remove_keyRemove a key from a channel by index or by frame
Give --frame (survives the index shift a prior removal causes) or --key-index. Frame wins when both are set.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index from list_tracks |
| section_index | int | Yes | Section index from list_sections |
| channel | string | Yes | Channel name from list_channels |
| key_index | int | No | Key index from list_keys (used when --frame is omitted) |
| frame | float | No | Delete the key at this frame (alternative to key_index) |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
| time_unit | string | No | Unit for --frame: frames (default) | ticks | seconds |
set_channel_defaultSet or clear a channel's default value
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index from list_tracks |
| section_index | int | Yes | Section index from list_sections |
| channel | string | Yes | Channel name from list_channels |
| value | json | No | Default value (number/bool); omit with --remove-default |
| remove_default | bool | No | Clear the channel's default value instead of setting one |
add_transform_keysDEPRECATED: use add_keys. Key location/rotation/scale on a transform section in one call
Deprecated. It forwards to add_keys with the Location/Rotation/Scale channels; call add_keys directly for anything else.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Binding GUID of the transform-track owner |
| track_index | int | Yes | 3D transform track index |
| section_index | int | Yes | Section index |
| frame | float | No | Time in display-rate frames |
| seconds | float | No | Time in seconds (with use_seconds) |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
| interpolation | string | No | auto | cubic | linear | constant |
| set_location | bool | No | Key location_x/y/z |
| set_rotation | bool | No | Key rotation_x/y/z |
| set_scale | bool | No | Key scale_x/y/z |
| location_x | float | No | Location X |
| location_y | float | No | Location Y |
| location_z | float | No | Location Z |
| rotation_x | float | No | Rotation Roll |
| rotation_y | float | No | Rotation Pitch |
| rotation_z | float | No | Rotation Yaw |
| scale_x | float | No | Scale X |
| scale_y | float | No | Scale Y |
| scale_z | float | No | Scale Z |
create_cameraSpawn a cine camera and bind it in the sequence
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| name | string | No | Optional binding display name |
| spawnable | bool | No | Create as spawnable instead of possessable |
add_camera_cutAdd a camera cut to the camera (auto-creates the cut track)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| camera_binding_guid | string | Yes | Camera binding GUID from create_camera |
| start_frame | float | No | Cut start in display-rate frames |
| start_seconds | float | No | Cut start in seconds (with use_seconds) |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
render_sequenceRender a Level Sequence to disk via Movie Render Queue (async)
Every override is checked before a render starts: width and height go together, and a bad format or time_unit, or an override the job cannot take, fails with nothing rendered. A Movie Graph job refuses the preset-only overrides (output_dir, format, width/height, fps, file_name_format, use_custom_range, override_existing); a 5.8 Basic-mode queue job is refused.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | No | Path to the Level Sequence |
| output_dir | string | No | Absolute output directory |
| format | string | No | png (default), jpg, bmp, exr, prores |
| width | int | No | Output width px (0 = default) |
| height | int | No | Output height px (0 = default) |
| fps | float | No | Custom output FPS (0 = sequence display rate) |
| file_name_format | string | No | e.g. {sequence_name}.{frame_number} |
| use_custom_range | bool | No | Restrict to start_frame..end_frame |
| start_frame | int | No | Custom start frame (display rate) |
| end_frame | int | No | Custom end frame (display rate) |
| time_unit | string | No | Unit of start_frame/end_frame: frames (default) | ticks | seconds |
| override_existing | bool | No | Overwrite existing output. Only sent when passed: a job built from asset_path defaults to true, a queue job or preset keeps its own setting |
| job_index | int | No | Render this Movie Render Queue job (from list_render_queue) instead of building one |
| preset_path | string | No | MoviePipelinePrimaryConfig asset to seed the job's configuration |
render_statusReport Movie Render Queue progress + written files
Lists every render job started this session with its job_id, started/finished state and output file count. Pass --job-id (returned by render_sequence) to get that job's full output file list.
| Parameter | Type | Required | Description |
|---|---|---|---|
| job_id | string | No | Job id from render_sequence; omit to list all jobs |
cfa render_status
cfa render_status --job-id 3f1c9a2bset_key_valueSet an existing key's value (float/double channel)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index |
| section_index | int | Yes | Section index |
| channel | string | Yes | Channel name |
| key_index | int | Yes | Key index from list_keys |
| value | float | Yes | New key value |
set_key_timeMove an existing key in time
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index |
| section_index | int | Yes | Section index |
| channel | string | Yes | Channel name |
| key_index | int | Yes | Key index |
| frame | float | No | New time in display-rate frames |
| seconds | float | No | New time in seconds (with use_seconds) |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
set_key_interpolationSet a key's interpolation + tangent mode
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index |
| section_index | int | Yes | Section index |
| channel | string | Yes | Channel name |
| key_index | int | Yes | Key index |
| interpolation | string | Yes | cubic, linear, constant |
| tangent_mode | string | No | auto, user, break, smartauto |
set_key_tangentSet a key's tangents (arrive/leave + weights)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index |
| section_index | int | Yes | Section index |
| channel | string | Yes | Channel name |
| key_index | int | Yes | Key index |
| arrive_tangent | float | No | Arrive tangent slope |
| leave_tangent | float | No | Leave tangent slope |
| arrive_weight | float | No | Arrive tangent weight |
| leave_weight | float | No | Leave tangent weight |
| weight_mode | string | No | none, arrive, leave, both |
set_channel_extrapolationSet channel pre/post-infinity extrapolation (looping)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index |
| section_index | int | Yes | Section index |
| channel | string | Yes | Channel name |
| pre | string | No | cycle, cycleoffset, oscillate, linear, constant, none |
| post | string | No | cycle, cycleoffset, oscillate, linear, constant, none |
copy_keysRead a channel's keys into a portable payload
Returns {time, value, interp} keys in the requested time_unit. Feed the keys array to paste_keys.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index from list_tracks |
| section_index | int | Yes | Section index from list_sections |
| channel | string | Yes | Channel name from list_channels |
| start_frame | float | No | First frame to copy (inclusive); omit for all |
| end_frame | float | No | Last frame to copy (inclusive); omit for all |
| time_unit | string | No | frames (default) | ticks | seconds |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
| max_results | int | No | Max keys to return (0 = all) |
paste_keysWrite a copy_keys payload onto a channel at an offset
keys is the array from copy_keys. Refuses a type-incompatible paste (float payload onto a bool channel).
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index from list_tracks |
| section_index | int | Yes | Section index from list_sections |
| channel | string | Yes | Destination channel name |
| keys | json | Yes | Array of {time, value, interp} from copy_keys |
| channel_kind | string | No | Source kind from copy_keys, for the compatibility check |
| frame_offset | float | No | Frames added to every pasted key time |
| mode | string | No | merge (default) | replace (clear the channel first) |
| time_unit | string | No | frames (default) | ticks | seconds |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
offset_keysShift every key on a channel (or section) by a delta
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index from list_tracks |
| section_index | int | Yes | Section index from list_sections |
| channel | string | No | Channel name; omit to offset every channel |
| delta | float | Yes | Signed amount to shift keys by |
| move_section | bool | No | Also move the section bounds by the delta |
| time_unit | string | No | frames (default) | ticks | seconds |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
retime_keysMove keys explicitly, or scale a range about a pivot
Give key_frames + new_frames to remap named keys, or scale + pivot to stretch every key.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index from list_tracks |
| section_index | int | Yes | Section index from list_sections |
| channel | string | Yes | Channel name from list_channels |
| key_frames | json | No | Source frames to move (array); pairs with new_frames |
| new_frames | json | No | Destination frames (array); same length as key_frames |
| scale | float | No | Scale factor about pivot (when key_frames is omitted) |
| pivot | float | No | Pivot frame the scale is applied about |
| time_unit | string | No | frames (default) | ticks | seconds |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
reduce_keysKey reduction / curve optimise within a tolerance
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index from list_tracks |
| section_index | int | Yes | Section index from list_sections |
| channel | string | No | Channel name; omit to reduce every channel |
| tolerance | float | No | Max deviation when dropping a key (default 0.001) |
| start_frame | float | No | First frame of the range; omit for whole channel |
| end_frame | float | No | Last frame of the range; omit for whole channel |
| auto_set_interpolation | bool | No | Recompute interpolation after reduction |
| time_unit | string | No | frames (default) | ticks | seconds |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
tween_keysBlend selected keys with one of the editor's blend tools
Runs the editor's own blend maths on the keys at the given frames. Keys next to each other blend as one range, against the key before and the key after that range. mode: neighbor (toward the key before for a negative amount, after for a positive one), tween (between the two outer keys; 0 is halfway), push_pull (toward or away from the straight line between the outer keys), relative (shift the whole range), ease (as neighbor, on an S curve), smooth_rough (average out or sharpen against each key's own neighbours).
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index from list_tracks |
| section_index | int | Yes | Section index from list_sections |
| channel | string | Yes | Channel name from list_channels |
| frames | json | Yes | Frames of the keys to tween (array) |
| amount | float | Yes | Blend -1..1 |
| mode | string | No | neighbor (default) | tween | push_pull | relative | ease | smooth_rough |
| time_unit | string | No | frames (default) | ticks | seconds |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
key_all_at_frameKey every channel of a binding at one frame (current value)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Binding GUID whose tracks are keyed |
| frame | float | Yes | Frame to key every channel at |
| channel_filter | string | No | Substring filter on channel name; omit for all |
| interpolation | string | No | cubic (default) | linear | constant |
| time_unit | string | No | frames (default) | ticks | seconds |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
bake_channel_keysSample a channel per frame over a range and write keys
With write false the samples are returned instead of written. Sampling steps one display frame.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index from list_tracks |
| section_index | int | Yes | Section index from list_sections |
| channel | string | Yes | Channel name from list_channels |
| start_frame | float | Yes | First frame to sample (inclusive) |
| end_frame | float | Yes | Last frame to sample (inclusive) |
| write | bool | No | Write samples as keys (default true); false returns them |
| time_unit | string | No | frames (default) | ticks | seconds |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
| max_results | int | No | Max samples to return when write is false (0 = all) |
set_track_muteMute or unmute a track or one of its rows (headless)
Writes the outliner mute marker (a decoration on 5.7+, a node-path string on 5.6, echoed as node_path) and mirrors it into the saved eval-disabled flag, which is what muting in the Sequencer produces.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for a root track |
| track_index | int | Yes | Track index from list_tracks |
| row_index | int | No | Row index to target one row; omit for the whole track |
| muted | bool | Yes | true to mute, false to unmute |
set_track_soloSolo or unsolo a track or one of its rows (headless)
Writes the outliner solo marker. The other tracks are silenced by the Sequencer while it evaluates; use set_track_eval_disabled for a saved, headless disable.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for a root track |
| track_index | int | Yes | Track index from list_tracks |
| row_index | int | No | Row index to target one row; omit for the whole track |
| soloed | bool | Yes | true to solo, false to unsolo |
set_track_eval_disabledDisable or enable evaluation of a track or row (saved; not mute)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for a root track |
| track_index | int | Yes | Track index from list_tracks |
| row_index | int | No | Row index to target one row; omit for the whole track |
| disabled | bool | Yes | true to disable evaluation |
list_outliner_stateMute/solo/eval-disabled/colour/sort/lock state per binding, track, row and section
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| filter | string | No | Substring filter on binding name, track class or display name |
| max_results | int | No | Max tracks to return (0 = all) |
set_section_flagsSet a section's active, locked, row, colour, pre-roll and post-roll
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for a root track |
| track_index | int | Yes | Track index from list_tracks |
| section_index | int | Yes | Section index from list_sections |
| active | bool | No | Active flag |
| locked | bool | No | Locked flag (unlock is applied first, lock last) |
| row_index | int | No | Move the section to this row |
| color | json | No | Colour: [r,g,b(,a)] 0-255 or 0-1, {r,g,b,a}, or (R=,G=,B=,A=) |
| pre_roll_frames | int | No | Pre-roll in frames |
| post_roll_frames | int | No | Post-roll in frames |
set_track_colorSet a track's colour tint
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for a root track |
| track_index | int | Yes | Track index from list_tracks |
| color | json | Yes | Colour: [r,g,b(,a)] 0-255 or 0-1, {r,g,b,a}, or (R=,G=,B=,A=) |
set_track_display_nameRename a track or one of its rows
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for a root track |
| track_index | int | Yes | Track index from list_tracks |
| row_index | int | No | Row index for a per-row name; omit for the track name |
| name | string | Yes | New display name |
set_track_sortingSet a track's sort order among its siblings
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for a root track |
| track_index | int | Yes | Track index from list_tracks |
| order | int | Yes | Sort order |
set_binding_sortingSet a binding's sort order among its siblings
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Binding GUID from list_bindings |
| order | int | Yes | Sort order |
add_child_folderCreate a folder nested under another folder
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| parent_folder_path | string | Yes | Parent folder path (Parent/Child) from list_sequence_folders |
| name | string | Yes | New folder name (made unique among siblings) |
| color | json | No | Optional colour |
rename_sequence_folderRename a sequence folder
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| folder_path | string | Yes | Folder path (Parent/Child) from list_sequence_folders |
| name | string | Yes | New folder name |
set_folder_colorSet a sequence folder's colour
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| folder_path | string | Yes | Folder path (Parent/Child) |
| color | json | Yes | Colour: [r,g,b(,a)] 0-255 or 0-1, {r,g,b,a}, or (R=,G=,B=,A=) |
remove_from_folderUnlink a binding or root track from a folder
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| folder_path | string | Yes | Folder path (Parent/Child) |
| binding_guid | string | No | Binding GUID to unlink |
| track_index | int | No | Root track index to unlink |
remove_sequence_folderRemove a folder (its contents return to the root)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| folder_path | string | Yes | Folder path (Parent/Child) |
| recursive | bool | No | Allow removing a folder that still holds items |
sequencer_selectSet the Sequencer selection (window-gated)
Opens the sequence in the Sequencer if needed. Channel and key selection are not exposed.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| kind | string | Yes | tracks | sections | bindings | folders | none |
| binding_guid | string | No | Binding GUID; omit for a root track |
| track_index | int | No | Single track (tracks) or the owning track (sections) |
| track_indices | json | No | Track indices array (tracks) |
| section_indices | json | No | Section indices array (sections) |
| binding_guids | json | No | Binding GUIDs array (bindings) |
| folder_paths | json | No | Folder paths array (folders) |
sequencer_get_selectionRead the Sequencer selection (window-gated)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | No | Level Sequence to open first; omit to read whatever is open |
| max_results | int | No | Max items per category (0 = all) |
sequencer_playbackDrive the open Sequencer: play, pause, play_to, speed, loop, lock (window-gated)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | No | Level Sequence to open first; omit to drive whatever is open |
| action | string | Yes | play | pause | play_to | set_speed | set_loop | force_update | lock | unlock |
| frame | float | No | play_to: target frame |
| time_unit | string | No | frames (default) | ticks | seconds |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
| speed | float | No | set_speed: playback speed multiplier |
| loop_mode | string | No | set_loop: none | loop | selection_range |
sequencer_window_statusCurrent/focused sequence, playing, speed, loop, lock and camera-cut lock of the open Sequencer
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | No | Level Sequence to open first; omit to report whatever is open |
add_subsequence_on_rowAdd a sub-sequence on a given row of the existing shot track
Reuses the first cinematic shot track (else sub track); creates a shot track only when none exists.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| sub_sequence_path | string | Yes | Level Sequence to embed |
| row_index | int | Yes | Row to place the section on |
| start_frame | float | No | Start time |
| start_seconds | float | No | Start in seconds (with use_seconds) |
| duration_frames | float | No | Duration in time_unit (0 = sub length) |
| hierarchical_bias | int | No | Hierarchical bias (omit = unchanged/default) |
| time_scale | float | No | Fixed play rate, e.g. 0.5 or 2 |
| can_loop | bool | No | Loop the sub-sequence inside its section |
| start_offset | float | No | Start offset into the sub-sequence |
| end_offset | float | No | End offset (looping) |
| first_loop_offset | float | No | First-loop start offset (looping) |
| shot_name | string | No | Cinematic shot display name |
| time_unit | string | No | frames (default) | ticks | seconds |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
set_subsequence_paramsSet a sub-section's bias, time scale, loop, offsets, sequence or shot name
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| track_index | int | Yes | Root track index |
| section_index | int | Yes | Section index |
| binding_guid | string | No | Binding GUID when the sub track is bound |
| sub_sequence_path | string | No | Replace the embedded sequence |
| hierarchical_bias | int | No | Hierarchical bias (omit = unchanged/default) |
| time_scale | float | No | Fixed play rate, e.g. 0.5 or 2 |
| can_loop | bool | No | Loop the sub-sequence inside its section |
| start_offset | float | No | Start offset into the sub-sequence |
| end_offset | float | No | End offset (looping) |
| first_loop_offset | float | No | First-loop start offset (looping) |
| shot_name | string | No | Cinematic shot display name |
| time_unit | string | No | frames (default) | ticks | seconds |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
set_shot_display_nameRename a cinematic shot section
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| track_index | int | Yes | Root track index |
| section_index | int | Yes | Section index |
| name | string | Yes | New shot name |
list_sub_sequencesSub-sequence/shot sections with ranges, bias, time scale and loop settings
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| recurse | bool | No | Recurse into the embedded sequences |
| filter | string | No | Substring filter on shot name or sub-sequence path |
| max_results | int | No | Max entries (0 = all) |
| time_unit | string | No | frames (default) | ticks | seconds |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
list_camera_cutsCamera cuts with binding, range, ease, lock-previous, plus track blend settings and gaps
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| filter | string | No | Substring filter on camera name or guid |
| max_results | int | No | Max cuts (0 = all) |
| time_unit | string | No | frames (default) | ticks | seconds |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
set_camera_cutRetarget, retime, ease or lock-previous one camera cut
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| section_index | int | Yes | Cut section index from list_camera_cuts |
| camera_binding_guid | string | No | Camera binding to cut to |
| start_frame | float | No | New start |
| end_frame | float | No | New end (exclusive) |
| ease_in_frames | float | No | Blend in length (needs track can_blend) |
| ease_out_frames | float | No | Blend out length |
| lock_previous_camera | bool | No | Lock the previous camera during the blend |
| time_unit | string | No | frames (default) | ticks | seconds |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
set_camera_cut_trackCamera cut track settings: can_blend, auto-manage sections, rearrange
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| can_blend | bool | No | Allow blending between cuts |
| auto_manage_sections | bool | No | Let the track auto-arrange cut ranges |
| rearrange | bool | No | Rearrange all cuts now |
remove_camera_cutRemove one camera cut
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| section_index | int | Yes | Cut section index |
set_spawnable_templateEdit the spawnable's template actor (any property, any component)
Works on the 5.6+ custom-binding template and on legacy spawnables. Changing the actor class is not supported. A property that cannot be set fails the whole call and nothing changes.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Spawnable binding GUID |
| property | string | No | Property name or dotted path on the template (pair with value) |
| value | json | No | Value for property |
| component_name | string | No | Set on this component of the template actor instead |
| properties | json | No | Object of property -> value applied together |
set_spawnable_ownershipSpawn ownership, continuous respawn and net-addressable name of a spawnable
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Spawnable binding GUID |
| ownership | string | No | inner_sequence | root_sequence | external |
| continuously_respawn | bool | No | Respawn continuously |
| net_addressable | bool | No | Give the spawned actor a net-addressable name |
set_custom_bindingConvert a binding to a custom binding class (headless)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Binding to convert |
| binding_class | string | Yes | e.g. MovieSceneSpawnableActorBinding, MovieSceneReplaceableActorBinding, MovieSceneReplaceableDirectorBlueprintBinding |
| binding_index | int | No | Binding index (default 0) |
list_custom_bindingsCustom binding class and properties per binding
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_class | string | No | Class-name substring filter |
| filter | string | No | Substring filter on name or class |
| max_results | int | No | Max entries (0 = all) |
remove_binding_tagUnregister a binding tag sequence-wide
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| tag | string | Yes | Tag name from list_binding_tags |
repair_bindingsFind (and optionally prune) possessable references that no longer resolve
Returns findings with a verdict. Repair removes invalid object references and fixes up the possessed class; it never deletes a binding.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Only this possessable |
| dry_run | bool | No | Report only (default true); pass --dry-run=false to repair |
get_director_blueprintReport the sequence's director Blueprint and its functions
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| create | bool | No | Create the director Blueprint when missing |
set_conditionPut a condition on a section, track or track row (native on 5.6/5.7/5.8)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| scope | string | Yes | section | track | track_row |
| binding_guid | string | No | Binding GUID; omit for a root track |
| track_index | int | Yes | Track index |
| section_index | int | No | Section index (scope section) |
| row_index | int | No | Row index (scope track_row) |
| condition_class | string | Yes | e.g. MovieScenePlatformCondition, MovieSceneScalabilityCondition, MovieSceneGroupCondition, MovieSceneDirectorBlueprintCondition |
| properties | json | No | Object of condition property -> value |
| invert | bool | No | Invert the condition |
get_conditionRead the condition on a section, track or track row
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| scope | string | Yes | section | track | track_row |
| binding_guid | string | No | Binding GUID; omit for a root track |
| track_index | int | Yes | Track index |
| section_index | int | No | Section index (scope section) |
| row_index | int | No | Row index (scope track_row) |
clear_conditionRemove the condition from a section, track or track row
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| scope | string | Yes | section | track | track_row |
| binding_guid | string | No | Binding GUID; omit for a root track |
| track_index | int | Yes | Track index |
| section_index | int | No | Section index (scope section) |
| row_index | int | No | Row index (scope track_row) |
add_event_keyKey an event bound to a director-Blueprint endpoint, with payload values
Only trigger sections carry per-frame keys. Creates the director Blueprint endpoint headlessly through the Sequencer scripting library.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for a root track |
| track_index | int | Yes | Event track index |
| section_index | int | Yes | Event trigger section index |
| function_name | string | Yes | UFUNCTION name on the target class (e.g. SetActorHiddenInGame) |
| bound_object | string | No | Level actor label/name to call on; default: the section's bound object, else the director Blueprint |
| frame | float | Yes | Frame to key at |
| seconds | float | No | Time in seconds (with use_seconds) |
| time_unit | string | No | frames (default) | ticks | seconds |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
| payload | json | No | Object of pin name -> value, one per function parameter |
| call_in_editor | bool | No | Endpoint callable in editor (default true) |
| compile | bool | No | Compile the director Blueprint afterwards (default true) |
copy_sectionsCopy sections into a portable payload (also lands on the OS clipboard)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for a root track |
| track_index | int | Yes | Track index |
| section_indices | json | No | Section indices array (default all) |
paste_sectionsPaste a copy_sections payload onto a track at a frame
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| payload | string | Yes | Text from copy_sections |
| binding_guid | string | No | Binding GUID; omit for a root track |
| track_index | int | No | Target track index |
| track_indices | json | No | Target track indices array (with row_indices) |
| row_index | int | No | Row to paste onto (default 0) |
| row_indices | json | No | Row per target track |
| frame | float | No | Paste time |
| time_unit | string | No | frames (default) | ticks | seconds |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
copy_tracksCopy tracks into a portable payload (also lands on the OS clipboard)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for a root track |
| track_indices | json | No | Track indices array (default all of the binding / root) |
paste_tracksPaste a copy_tracks payload into a sequence (bound tracks need a target binding)
Bound tracks paste only onto the given binding and replace a same-class, same-name track there; root and camera-cut tracks go to the target root.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| payload | string | Yes | Text from copy_tracks |
| binding_guid | string | No | Target binding for bound tracks; omit for root tracks |
| parent_folder_path | string | No | Folder (Parent/Child) to put pasted root tracks in |
add_dynamic_binding_resolverCreate a director-Blueprint resolver function for a binding (dynamic binding)
Converts the binding to a director-Blueprint custom binding when needed, creates the function endpoint with Call In Editor set, and wires it as the resolver.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Possessable binding GUID |
| function_name | string | No | Function name (default <BindingName>_DynamicBinding) |
| binding_index | int | No | Binding reference index (default 0) |
| spawnable | bool | No | Use the spawnable director-Blueprint binding class |
| with_resolve_params | bool | No | Add the ResolveParams input pin (default true) |
| payload | json | No | Object of pin name -> value |
| compile | bool | No | Compile the director Blueprint afterwards (default true) |
set_dynamic_bindingPoint a binding's dynamic binding at an existing director-Blueprint function
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Binding GUID (must carry a director-Blueprint binding) |
| binding_index | int | No | Binding reference index (default 0) |
| function_name | string | Yes | Existing function graph in the director Blueprint |
| resolve_params_pin | string | No | Input pin of type MovieSceneDynamicBindingResolveParams to use |
| payload | json | No | Object of pin name -> value |
| compile | bool | No | Compile afterwards (default true) |
add_condition_endpointPut a director-Blueprint condition on a section, track or row and create its function
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| scope | string | Yes | section | track | track_row |
| binding_guid | string | No | Binding GUID; omit for a root track |
| track_index | int | Yes | Track index |
| section_index | int | No | Section index (scope section) |
| row_index | int | No | Row index (scope track_row) |
| function_name | string | No | Function name (default EvaluateCondition) |
| invert | bool | No | Invert the condition |
| compile | bool | No | Compile afterwards (default true) |
export_sequence_fbxExport a Level Sequence to FBX (headless)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| output_path | string | Yes | FBX file path; relative paths land under Saved/CodeFizzEditorAgent/Exports |
| root_sequence_path | string | No | Root sequence when exporting a sub-sequence |
| binding_guids | json | No | Binding GUIDs array (default all) |
| track_indices | json | No | Root track indices array to include |
| options | json | No | Object of UFbxExportOption properties (engine defaults when omitted) |
import_sequence_fbxImport an FBX onto a Level Sequence's bindings (headless, no dialog)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| input_path | string | Yes | FBX file path |
| binding_guids | json | No | Binding GUIDs array (default all) |
| settings | json | No | Object of import settings: bMatchByNameOnly, bForceFrontXAxis, bConvertSceneUnit, ImportUniformScale, bCreateCameras, bReplaceTransformTrack, bReduceKeys, ReduceKeysTolerance |
export_anim_sequenceBake a binding's animation to an AnimSequence asset
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Binding GUID |
| anim_sequence_path | string | Yes | Asset path for the AnimSequence |
| create_link | bool | No | Link the AnimSequence to the sequence afterwards |
| overwrite | bool | No | Replace an existing asset |
| frame_rate | string | No | Target rate, e.g. 30 or 30000/1001 (default: the sequence display rate) |
| options | json | No | Object of UAnimSeqExportOption properties (bExportMorphTargets, bRecordInWorldSpace, WarmUpFrames...) |
export_anim_sequence_asyncBake to an AnimSequence after a delay (5.7+), letting spawnables settle first
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Binding GUID |
| anim_sequence_path | string | Yes | Asset path for the AnimSequence |
| create_link | bool | No | Link afterwards |
| overwrite | bool | No | Replace an existing asset |
| frame_rate | string | No | Target rate (default: display rate) |
| delay_seconds | float | No | Seconds to wait before exporting (0 = export now) |
| options | json | No | Object of UAnimSeqExportOption properties (bExportMorphTargets, bRecordInWorldSpace, WarmUpFrames...) |
link_anim_sequenceLink an existing AnimSequence to a binding
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Binding GUID |
| anim_sequence_path | string | Yes | AnimSequence asset path |
| options | json | No | Object of UAnimSeqExportOption properties (bExportMorphTargets, bRecordInWorldSpace, WarmUpFrames...) |
list_linked_anim_sequencesLinked AnimSequences of a sequence, or the sequence an AnimSequence links to
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | No | Level Sequence path (one of asset_path / anim_sequence_path) |
| anim_sequence_path | string | No | AnimSequence asset path |
| filter | string | No | Substring filter on paths |
| max_results | int | No | Max links (0 = all) |
clear_linked_anim_sequencesDrop every AnimSequence link from a sequence
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
import_fbx_to_control_rigImport an FBX onto a binding's Control Rig track channels
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Binding GUID |
| input_path | string | Yes | FBX file path |
| control_names | json | No | Control names array to import onto (default all) |
| settings | json | No | Object of UMovieSceneUserImportFBXControlRigSettings properties |
export_fbx_from_control_rigExport a binding's Control Rig track channels to FBX
Uses the rig track's section-to-key (engine API); the reply reports which track and section were exported.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Binding GUID |
| output_path | string | Yes | FBX file path |
| control_names | json | No | Control names array to export (default all) |
| settings | json | No | Object of UMovieSceneUserExportFBXControlRigSettings properties |
list_render_queueJobs in the Movie Render Queue with config mode, presets and shots
| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | No | Substring filter on job name, sequence or map |
| max_results | int | No | Max jobs (0 = all) |
add_render_jobAdd a render job for a Level Sequence to the Movie Render Queue
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Level Sequence path |
| map | string | No | Map asset path (default: the open editor world) |
| job_name | string | No | Job name |
| author | string | No | Author |
| comment | string | No | Comment |
| enabled | bool | No | Enabled (default true) |
| preset_path | string | No | MoviePipelinePrimaryConfig asset to apply |
remove_render_jobRemove a job from the Movie Render Queue
| Parameter | Type | Required | Description |
|---|---|---|---|
| job_index | int | Yes | Job position from list_render_queue |
duplicate_render_jobDuplicate a job in the Movie Render Queue
| Parameter | Type | Required | Description |
|---|---|---|---|
| job_index | int | Yes | Job position from list_render_queue |
set_render_job_configAssign a preset, a graph preset, a config mode or setting values to a job
Settings are tried on a throwaway instance first: an unknown key, a bad value, an abstract or shot-only setting class, or a config_mode that cannot apply fails before the job changes.
| Parameter | Type | Required | Description |
|---|---|---|---|
| job_index | int | Yes | Job position from list_render_queue |
| preset_path | string | No | MoviePipelinePrimaryConfig asset |
| graph_preset_path | string | No | MovieGraphConfig asset |
| config_mode | string | No | 5.8 only: preset | graph | basic |
| setting_class | string | No | Setting class to edit, e.g. MoviePipelineOutputSetting |
| settings | json | No | Object of setting properties -> value (needs setting_class) |
set_render_shotEnable/disable a shot or give it an override config or graph preset
| Parameter | Type | Required | Description |
|---|---|---|---|
| job_index | int | Yes | Job position from list_render_queue |
| shot_index | int | Yes | Shot position in the job |
| enabled | bool | No | Render this shot |
| shot_config_path | string | No | MoviePipelineShotConfig asset |
| graph_preset_path | string | No | MovieGraphConfig asset |
save_render_queueSave the Movie Render Queue as an asset and/or a manifest file
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | No | MoviePipelineQueue asset path to create or overwrite |
| manifest_path | string | No | Manifest (.utxt) file path |
load_render_queueReplace the Movie Render Queue from a queue asset or a manifest file
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | No | MoviePipelineQueue asset path |
| manifest_path | string | No | Manifest (.utxt) file path |
cancel_renderCancel the active render (editor queue and CLI-started renders)
list_render_presetsPrimary, shot and graph render config assets in the project
| Parameter | Type | Required | Description |
|---|---|---|---|
| kind | string | No | primary | shot | graph | all (default all) |
| filter | string | No | Substring filter on path |
| max_results | int | No | Max presets (0 = all) |
start_take_recordingStart a headless Take Recorder take (the Sequencer window is not opened)
Needs the Takes plugin enabled in the project.
| Parameter | Type | Required | Description |
|---|---|---|---|
| actors | json | No | Level actor labels/names array to record (or use add_take_source first) |
| slate | string | No | Slate name (default Scene_1) |
| take_number | int | No | Take number (0 = next free) |
| countdown | float | No | Countdown seconds (default 0) |
| asset_path | string | No | Existing Level Sequence to record into; omit to record a new take asset |
| reduce_keys | bool | No | Reduce keys on the recorded actors |
stop_take_recordingStop the active take and report the recorded sequence
cancel_take_recordingCancel the active take
take_recorder_statusTake Recorder plugin/enabled/recording state and the pending sources
add_take_sourceAdd actor (or other) sources to the pending take
| Parameter | Type | Required | Description |
|---|---|---|---|
| actors | json | No | Level actor labels/names array |
| source_class | string | No | Source class, e.g. TakeRecorderActorSource, TakeRecorderAudioInputSource |
| reduce_keys | bool | No | Reduce keys for actor sources |
list_take_sourcesPending take sources
| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | No | Substring filter on class or target |
| max_results | int | No | Max sources (0 = all) |
list_takesRecorded takes for a slate
| Parameter | Type | Required | Description |
|---|---|---|---|
| slate | string | Yes | Slate name |
| take_number | int | No | Specific take (0 = all) |
| filter | string | No | Substring filter on path |
| max_results | int | No | Max takes (0 = all) |
set_section_easingSet section ease-in/out (fade) length
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index |
| section_index | int | Yes | Section index |
| ease_in_frames | float | No | Ease-in length in time_unit units (0 = none) |
| ease_out_frames | float | No | Ease-out length in time_unit units (0 = none) |
| time_unit | string | No | Unit of the ease lengths: frames (default) | ticks | seconds |
set_section_blend_typeSet section blend type (additive layering)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for root track |
| track_index | int | Yes | Track index |
| section_index | int | Yes | Section index |
| blend_type | string | Yes | absolute, additive, relative, additivefrombase |
add_audioAdd a sound on a master audio track
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| sound_path | string | Yes | Path to a Sound asset |
| start_frame | float | No | Start in display-rate frames |
| start_seconds | float | No | Start in seconds (with use_seconds) |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
add_subsequenceAdd a sub-sequence (shot) on a cinematic shot track
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the master Level Sequence |
| sub_sequence_path | string | Yes | Path to the sub Level Sequence |
| start_frame | float | No | Start in display-rate frames |
| start_seconds | float | No | Start in seconds (with use_seconds) |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
| duration_frames | float | No | Duration in frames (0 = sub-sequence length) |
| row_index | int | No | Row to place the section on (default 0) |
| hierarchical_bias | int | No | Hierarchical bias (omit = unchanged/default) |
| time_scale | float | No | Fixed play rate, e.g. 0.5 or 2 |
| can_loop | bool | No | Loop the sub-sequence inside its section |
| start_offset | float | No | Start offset into the sub-sequence |
| end_offset | float | No | End offset (looping) |
| first_loop_offset | float | No | First-loop start offset (looping) |
| shot_name | string | No | Cinematic shot display name |
add_event_sectionAdd an event track section (repeater/trigger)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for a root event track |
| event_type | string | No | repeater (default) or trigger |
add_timewarpAdd a time-warp track with a fixed play rate
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| play_rate | float | No | Fixed play rate (0.5=half, 2.0=double) |
add_marked_frameAdd a timeline marker
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| frame | float | No | Marker time in display-rate frames |
| seconds | float | No | Marker time in seconds (with use_seconds) |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
| label | string | No | Marker label |
| comment | string | No | Marker comment |
list_marked_framesList timeline markers
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| filter | string | No | Substring filter on the marker label or comment |
| max_results | int | No | Max markers to return (0 = all); reports truncated |
| time_unit | string | No | Unit echoed in the result: frames (default) | ticks | seconds |
remove_marked_frameRemove a timeline marker by index
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| index | int | Yes | Marker index from list_marked_frames |
add_folderAdd a root folder (organization)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| name | string | Yes | Folder name |
| color_r | int | No | Folder color R 0-255 |
| color_g | int | No | Folder color G 0-255 |
| color_b | int | No | Folder color B 0-255 |
| parent_folder_path | string | No | Parent folder path (Parent/Child) to nest under; omit for a root folder |
list_sequence_foldersList root folders
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| filter | string | No | Substring filter on the folder name |
| max_results | int | No | Max folders to return (0 = all); reports truncated |
add_to_folderAdd a binding or root track to a folder
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| folder_name | string | Yes | Target folder name |
| binding_guid | string | No | Binding GUID to add |
| track_index | int | No | Root track index to add (if no binding_guid) |
set_evaluation_typeSet evaluation type (framelocked/withsubframes)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| evaluation_type | string | Yes | framelocked or withsubframes |
tag_bindingAdd a tag to a binding
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Binding GUID |
| tag | string | Yes | Tag name |
untag_bindingRemove a tag from a binding
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Binding GUID |
| tag | string | Yes | Tag name |
get_bindingDeep report for one binding: tracks, sections, channels (filterable), optional keys
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Binding GUID from list_bindings |
| channel_filter | string | No | Substring filter on channel names (e.g. Location, Location.X, Intensity) |
| include_keys | bool | No | Include each channel's keyframes (compact: time + value); each channel reports the interpolation shared by most of its keys once as interp (omitted when cubic) and only differing keys carry their own interp; keyless channels are listed by name under empty_channels |
| max_results | int | No | Max channels across all tracks/sections (0 = all); reports truncated |
| max_keys_per_channel | int | No | Max keys per channel with --include-keys (default 3, 0 = all); a shared 30-key budget caps the whole reply. Each channel reports key_count and truncated, the reply reports keys_truncated |
evaluate_channelsEvaluate channel value(s) at a frame/time (e.g. Location.X at frame 500)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for a root track |
| track_index | int | Yes | Track index from list_tracks |
| section_index | int | Yes | Section index from list_sections |
| channel_filter | string | No | Substring filter on channel names (empty = all) |
| frame | float | No | Evaluation time in display-rate frames |
| seconds | float | No | Evaluation time in seconds (with use_seconds) |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
set_playheadMove the Sequencer timeline bar to a frame/time (sequence must be open)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | No | Sequence expected to be open (optional check) |
| frame | float | No | Time in frames (local = display rate, global = tick) |
| seconds | float | No | Time in seconds (with use_seconds) |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
| space | string | No | local (display rate, default) or global (tick) |
get_playheadRead the Sequencer playhead position (sequence must be open)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | No | Sequence expected to be open (optional check) |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
set_playback_statePlay or pause the open Sequencer
| Parameter | Type | Required | Description |
|---|---|---|---|
| state | string | Yes | play or pause |
list_animatable_propertiesList keyable properties of a binding's object/component (discover what you can animate)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding whose object's keyable properties to list |
| class_name | string | No | Inspect a class directly (e.g. PointLightComponent) |
| component_name | string | No | For an actor binding, inspect this owned component's class |
| filter | string | No | Substring filter on property name/type |
| max_results | int | No | Max properties (0 = all) |
| include_components | bool | No | Also list the actor's components + keyable counts |
possess_componentPossess an actor's component as a child binding (needed to animate LightColor/Intensity)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Binding GUID of the owning actor |
| component_name | string | No | Component object name (e.g. LightComponent0) |
| component_class | string | No | Component class to match if name omitted (e.g. PointLightComponent) |
add_property_trackAdd a property track bound to a property (auto-picks track class); enables color/intensity/etc.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Binding GUID (possess the COMPONENT for component props) |
| property_name | string | Yes | Property leaf name, e.g. LightColor, Intensity |
| property_path | string | No | Path from the bound object (defaults to property_name) |
| track_type | string | No | Track class override; omit to auto-pick from property type |
| add_section | bool | No | Also add a section over the playback range (default true) |
add_keysBatch-add keys to multiple channels of a section in ONE call
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID; omit for a root track |
| track_index | int | Yes | Track index from list_tracks |
| section_index | int | Yes | Section index from list_sections |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
| interpolation | string | No | Default interp: auto, linear, constant |
| channels | json | Yes | [{"channel":"Color.R"|0,"keys":[{"time":f,"value":v,"interp":"auto"}]}] (color = linear 0-1) |
validate_sequenceVerdict for a whole sequence: broken bindings, dead sections, missing assets, compile state
Returns verdict = pass | pass_with_warnings | fail plus a findings array (code, severity, message, target). Errors (fail): broken_possessable, null_spawnable_template, missing_subsequence, missing_control_rig_class, compiled_data_invalid. Warnings (pass_with_warnings): empty_track, section_outside_playback_range, overlapping_sections, camera_cut_gap, unbound_event_endpoint, compiled_data_dirty. counts_by_code is always complete; only the findings list is capped by --max-results.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| checks | stringlist | No | Subset of: bindings, spawnables, tracks, sections, camera_cuts, subsequences, control_rig, events, compiled (default all) |
| recurse_subsequences | bool | No | Also validate the sequences referenced by sub-sequence sections |
| filter | string | No | Substring filter on the finding code, message or target |
| max_results | int | No | Max findings to return (0 = all); reports truncated |
cfa validate_sequence /Game/Cine/Shot010
cfa validate_sequence /Game/Cine/Master --recurse-subsequences --checks bindings,sectionsevaluate_sequenceScrub a headless player to a frame and read back what the bindings actually evaluate to
Creates a transient Level Sequence player in the editor world, scrubs it to the requested time, and reports each bound object's name, class, world transform and any properties you ask for. The player, its actor and any spawned spawnables are destroyed before the call returns, so nothing is left in the level or the undo buffer. This is how you prove a key moved something: evaluate the same binding at two frames and compare.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| frame | float | Yes | Time to scrub to, in time_unit units |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
| binding_guid | stringlist | No | Bindings to read (repeatable); omit for all bindings |
| properties | stringlist | No | Property paths to read off each bound object, e.g. Intensity, RelativeLocation.X |
| bones | stringlist | No | Bone names to read in COMPONENT space off each bound skeletal mesh - how you prove a rig key moved a bone |
| controls | bool | No | Also read each Control Rig track's control values, evaluated from the section channels at this frame |
| filter | string | No | Substring filter on the bound object's name or class |
| max_results | int | No | Max bound objects to return (0 = all); reports truncated |
cfa evaluate_sequence --asset-path /Game/Cine/Shot010 --frame 0
cfa evaluate_sequence --asset-path /Game/Cine/Shot010 --frame 2.5 --time-unit seconds --properties Intensity,LightColoradd_skeletal_animationAdd an animation to a skeletal-mesh binding; loops to fill the section by default
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Binding GUID of the skeletal mesh actor/component |
| animation | string | Yes | AnimSequence asset path |
| frame | float | No | Start in display-rate frames |
| seconds | float | No | Start in seconds (with use_seconds) |
| use_seconds | bool | No | DEPRECATED alias for --time-unit seconds |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
| loop | bool | No | Extend the section past the clip so it auto-loops (default true) |
| end_frame | float | No | Section end in frames (0 = sequence playback end) |
| end_seconds | float | No | Section end in seconds (with use_seconds; 0 = playback end) |
list_control_rigsControl Rig tracks on a sequence, with their rig class and priority
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| filter | string | No | Substring filter on the track or rig class name |
| max_results | int | No | Max tracks to return (0 = all); reports truncated |
list_rig_controlsThe channel map: every control's channel indices, kinds, labels and mask state
This is the command that tells you how to address a rig channel. Never use the channel NAME: a Position control is Ctrl.X on UE 5.6 and Ctrl.Location.X on 5.7/5.8. Use control_name plus the channel index reported here. Index order is fixed per control type: float = [value], vector2d = [x,y], position/scale = [x,y,z], rotator = [roll,pitch,yaw], transform_no_scale = location xyz + rotation roll/pitch/yaw, transform and euler_transform = those nine with scale xyz last.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| section_index | int | No | Section index on the track (default 0) |
| filter | string | No | Substring filter on the control name |
| max_results | int | No | Max controls to return (0 = all); reports truncated |
cfa list_rig_controls --asset-path /Game/Cine/Shot010 --track-index 0add_control_rig_trackAdd a Control Rig track + section to a binding, headless
Builds the track the way the engine does but without the editor side effects: no DismissAllMenus, no Control Rig edit mode forced on in the level viewport. The section's blend type is left to the engine (first section Absolute, later ones Additive). Name the rig with exactly one of control_rig_asset_path (a Control Rig Blueprint) or control_rig_class (an engine rig class, e.g. FKControlRig). An FK rig takes its controls from the bound skeletal mesh, which is what set_control_rig_apply_mode and load-anim workflows need.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Binding GUID from list_bindings |
| control_rig_asset_path | string | No | Control Rig Blueprint asset, e.g. /Game/Rigs/CR_Hero (exactly one of control_rig_asset_path / control_rig_class) |
| control_rig_class | string | No | Engine Control Rig class, e.g. FKControlRig or /Script/ControlRig.FKControlRig |
| layered | bool | No | Create the rig in layered/additive mode (needs a Backwards Solve event) |
| track_name | string | No | Display name for the new track; a name another rig track on this binding already uses gets the engine's _1 / _2 suffix |
cfa add_control_rig_track --asset-path /Game/Cine/Shot010 --binding-guid <guid> --control-rig-class FKControlRigadd_control_rig_keyKey one control at one frame
Pass a typed value for the whole control, or channel_index plus a plain number for one channel. Value shapes: float/bool/int = a bare value; vector2d = {x,y}; position/scale = {x,y,z}; rotator = {roll,pitch,yaw}; transform/euler_transform = {location:{x,y,z},rotation:{roll,pitch,yaw},scale:{x,y,z}}; transform_no_scale drops the scale block. A flat array of numbers in channel order also works. Components you leave out are not keyed.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| section_index | int | No | Section index on the track (default 0) |
| control_name | string | Yes | Control name from list_rig_controls |
| channel_index | int | No | Channel index inside the control's slice; -1 keys the whole control |
| value | json | Yes | Typed value for the control, or a number when channel_index is set |
| frame | float | Yes | Key time in time_unit units |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
| interpolation | string | No | auto, cubic, linear, constant |
cfa add_control_rig_key --asset-path /Game/Cine/Shot010 --track-index 0 --control-name Hand_L_ctrl --frame 30 --value '{"location":{"x":50}}'add_control_rig_keysBatch: N controls x M frames on a rig section in ONE call and one undo step
keys is [{control_name, channel_index?, interpolation?, frames:[...], values:[...]}]. frames and values must be the same length; each value uses the same shapes as add_control_rig_key. Every entry is validated before anything is written, so a bad control name late in the batch cannot leave a half-applied edit.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| section_index | int | No | Section index on the track (default 0) |
| keys | json | Yes | [{control_name, channel_index?, frames:[], values:[]}] |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
| interpolation | string | No | Default interpolation: auto, cubic, linear, constant |
cfa add_control_rig_keys --asset-path /Game/Cine/Shot010 --track-index 0 --keys '[{"control_name":"Hand_L_ctrl","frames":[0,30],"values":[{"location":{"x":0}},{"location":{"x":50}}]}]'list_control_rig_keysRead a rig section's keys back per control and channel
Reports total_keys - every key on every channel of the section, unaffected by max_results truncation, max_keys or channel_index - plus controls_with_keys, the names that carry them. max_keys caps the keys each channel returns (default 30); every channel reports its own key_count and truncated, so a capped read is never mistaken for a short one.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| section_index | int | No | Section index on the track (default 0) |
| control_name | string | No | Control name; omit to read every keyed control |
| channel_index | int | No | Channel index inside the control's slice; -1 reads every channel |
| max_keys | int | No | Max keys per channel (0 = all); each channel reports key_count and truncated |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
| filter | string | No | Substring filter on the control name |
| max_results | int | No | Max channels to return (0 = all); reports truncated |
remove_control_rig_keysDelete a control's keys, all of them or inside a frame range
Naming start_frame or end_frame restricts the delete to that range. Without either bound every key goes.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| section_index | int | No | Section index on the track (default 0) |
| control_name | string | Yes | Control name from list_rig_controls |
| channel_index | int | No | Channel index inside the control's slice; -1 clears every channel |
| use_range | bool | No | Force the range on with neither bound named, so 0..0 is honoured; naming either bound already implies it |
| start_frame | float | No | Range start in time_unit units; naming it turns the range on |
| end_frame | float | No | Range end in time_unit units; naming it turns the range on |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
set_control_rig_control_defaultSet a control's channel defaults - the value it holds with no keys
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| section_index | int | No | Section index on the track (default 0) |
| control_name | string | Yes | Control name from list_rig_controls |
| channel_index | int | No | Channel index inside the control's slice; -1 sets the whole control |
| value | json | Yes | Same value shapes as add_control_rig_key |
set_control_rig_controls_maskShow or hide controls on a rig section
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| section_index | int | No | Section index on the track (default 0) |
| control_names | stringlist | No | Controls to show or hide (repeatable) |
| visible | bool | No | True shows the controls, false hides them |
| all | bool | No | Apply to every control on the section |
set_control_rig_apply_modeSet an FK Control Rig track's apply mode
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| mode | string | Yes | replace | additive | direct |
set_control_rig_prioritySet a Control Rig track's evaluation priority order
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| priority | int | No | Priority order; lower evaluates first |
rename_control_rig_channelsRepoint a track's channels at renamed rig controls
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| old_names | stringlist | Yes | Existing control names (repeatable) |
| new_names | stringlist | Yes | New control names, one per old name; each must exist on the rig |
add_control_rig_anim_layerAdd an anim layer for some controls of a rig track
Makes a new animation layer that holds the named controls (the Anim Layers panel's + button). The first layer of a sequence also makes the base layer, so the new layer is index 1. A new layer is Additive with weight 1; --name, --weight and --type change that in the same call. The named controls are left selected on the rig. Needs the Level Sequence open in a Sequencer window; the command opens it when it can.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the rig track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| control_names | stringlist | Yes | Controls the layer animates |
| name | string | No | Layer name |
| weight | float | No | Layer weight, 0..1 |
| type | string | No | Additive | Override |
cfa add_control_rig_anim_layer --asset-path /Game/Cine/Shot010 --track-index 0 --control-names hand_l_ctrl,hand_r_ctrl --name Handsremove_control_rig_anim_layerDelete one anim layer and its sections
Deletes the layer at --index with the sections it owns. Layer 0 is the base layer and is never deleted; collapse_control_rig_anim_layers flattens every layer into one. Needs the Level Sequence open in a Sequencer window; the command opens it when it can.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| index | int | Yes | Layer index from list_control_rig_anim_layers |
cfa remove_control_rig_anim_layer --asset-path /Game/Cine/Shot010 --index 2duplicate_control_rig_anim_layerCopy one anim layer with its keys
Copies the layer at --index and replies with the new layer. The base layer and a layer with no controls are not copied. Needs the Level Sequence open in a Sequencer window; the command opens it when it can.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| index | int | Yes | Layer index from list_control_rig_anim_layers |
cfa duplicate_control_rig_anim_layer --asset-path /Game/Cine/Shot010 --index 1merge_control_rig_anim_layersMerge two or more anim layers into the lowest one
Merges the named layers onto the one with the lowest index and removes the others. --key-mode KeysOnly (default) merges on the frames that carry keys; AllFrames bakes every --frame-increment frames and can --reduce-keys after. Needs the Level Sequence open in a Sequencer window; the command opens it when it can.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| indices | stringlist | Yes | Layer indices to merge, at least two |
| key_mode | string | No | KeysOnly | AllFrames |
| frame_increment | int | No | With AllFrames: bake every N frames |
| reduce_keys | bool | No | With AllFrames: reduce keys after the merge |
| tolerance | float | No | With reduce_keys: tolerance in percent |
cfa merge_control_rig_anim_layers --asset-path /Game/Cine/Shot010 --indices 1,2set_control_rig_anim_layerChange an anim layer: name, weight, type, mute, lock, key target, controls
Changes only what you pass. --active=false mutes the layer, --locked=true locks it, --keyed makes it the layer that takes new keys, --type switches Additive / Override. --add-controls and --remove-controls change which controls of a rig track the layer holds (give --track-index for them). A locked layer refuses every other change, so an unlock is applied first and a lock last, and the command fails with the reason when the engine did not take a value. list_control_rig_anim_layers reads the result back. Needs the Level Sequence open in a Sequencer window; the command opens it when it can.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| index | int | Yes | Layer index from list_control_rig_anim_layers |
| name | string | No | Layer name |
| weight | float | No | Layer weight, 0..1 |
| type | string | No | Additive | Override |
| active | bool | No | False mutes the layer |
| locked | bool | No | True locks the layer |
| keyed | bool | No | True makes this the layer that takes new keys |
| binding_guid | string | No | Binding GUID of the rig track, for add_controls / remove_controls |
| track_index | int | No | Rig track index, for add_controls / remove_controls |
| add_controls | stringlist | No | Controls to put on the layer |
| remove_controls | stringlist | No | Controls to take off the layer |
cfa set_control_rig_anim_layer --asset-path /Game/Cine/Shot010 --index 1 --weight 0.5 --name Offsetreorder_control_rig_anim_layerMove an anim layer to another index (UE 5.8+)
Moves the layer at --index to --new-index. The base layer stays at 0. UE 5.6 and 5.7 have no layer reorder, and the command says so there. Needs the Level Sequence open in a Sequencer window; the command opens it when it can.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| index | int | Yes | Layer to move |
| new_index | int | Yes | Index it gets |
cfa reorder_control_rig_anim_layer --asset-path /Game/Cine/Shot010 --index 3 --new-index 1get_control_rig_world_transformRead controls in WORLD space at given frames
Evaluates the sequence at each frame and returns the world transform of each control: location, rotation and scale as the viewport shows them, after parents, spaces, constraints and layers. list_control_rig_keys gives the LOCAL keyed values. The rig must be bound to an actor in the open level. At most 500 samples (controls x frames) in one call. Needs the Level Sequence open in a Sequencer window; the command opens it when it can.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the rig track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| control_names | stringlist | Yes | Controls to read |
| frames | json | Yes | Array of times, in time_unit units |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
cfa get_control_rig_world_transform --asset-path /Game/Cine/Shot010 --track-index 0 --control-names hand_l_ctrl --frames '[0,12,24]'set_control_rig_world_transformKey a control at a WORLD transform on given frames
Keys the control so it sits at a world transform, whatever its parent or space is at that frame: the engine works out the local value. --transform is one transform for every frame; --transforms is an array with one for each frame. The reply reads the control back and gives the largest distance from the transform asked for; verdict pass_with_warnings means a limit, a constraint or a later layer holds the control off it. On the frame of a space key the engine also keys the tick before it, so the control does not jump there. The rig must be bound to an actor in the open level. Needs the Level Sequence open in a Sequencer window; the command opens it when it can.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the rig track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| control_name | string | Yes | Control to key |
| frames | json | Yes | Array of times, in time_unit units |
| transform | json | No | One world transform {location, rotation, scale} for every frame |
| transforms | json | No | Array of world transforms, one for each frame |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
cfa set_control_rig_world_transform --asset-path /Game/Cine/Shot010 --track-index 0 --control-name hand_l_ctrl --frames '[0,24]' --transform '{"location":[50,0,120]}'move_control_rig_space_keyMove one space key of a control to another frame
Moves the space key at --frame to --new-frame. A frame that has a space key already is refused. No transform key is moved with it, so the control can jump at the new frame.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the rig track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| section_index | int | No | Section index on the track |
| control_name | string | Yes | Control name from list_control_rig_space_keys |
| frame | float | Yes | Frame of the key to move |
| new_frame | float | Yes | Frame the key moves to |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
cfa move_control_rig_space_key --asset-path /Game/Cine/Shot010 --track-index 0 --control-name hand_l_ctrl --frame 10 --new-frame 14move_constraint_keyMove one activation key of a timeline constraint to another frame
Moves the activation key at --frame to --new-frame. A frame that has a key already is refused. No transform key is changed: run compensate_timeline_constraint after if the child must not jump.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the rig track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| section_index | int | No | Section index on the track |
| constraint_name | string | Yes | Constraint name from list_timeline_constraints |
| frame | float | Yes | Frame of the key to move |
| new_frame | float | Yes | Frame the key moves to |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
cfa move_constraint_key --asset-path /Game/Cine/Shot010 --track-index 0 --constraint-name Parent_hand_l_ctrl --frame 10 --new-frame 14compensate_control_rig_spaceAdd the transform keys that stop a control jumping at a space key
The editor's own space compensation at --frame, or at every space key with --all: it copies the control's world pose AT the space key onto the tick before it, so the control does not jump there. Use it for a space key that was put on a frame the control is keyed on already (a raw add_control_rig_space_key, or a moved space key). It is only right when the control has a transform key at the frame of the space key; the command refuses a space key that has none, because the copy would make a new jump. add_control_rig_space_key --compensate and set_control_rig_world_transform need no compensation after them. Needs the Level Sequence open in a Sequencer window; the command opens it when it can.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the rig track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| frame | float | No | Frame of the space key to compensate |
| all | bool | No | Compensate at every space key of the rig |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
cfa compensate_control_rig_space --asset-path /Game/Cine/Shot010 --track-index 0 --allcompensate_timeline_constraintAdd the transform keys that stop a constrained control jumping at an activation key
Runs the editor's own constraint compensation at --frame, or at every activation key with --all, so the child keeps its place when the constraint turns on or off. set_constraint_active_key, move and remove do not compensate on their own. Only transform constraints are compensated. Needs the Level Sequence open in a Sequencer window; the command opens it when it can.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the rig track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| section_index | int | No | Section index on the track |
| constraint_name | string | Yes | Constraint name from list_timeline_constraints |
| frame | float | No | Frame of the activation key to compensate |
| all | bool | No | Compensate at every activation key |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
cfa compensate_timeline_constraint --asset-path /Game/Cine/Shot010 --track-index 0 --constraint-name Parent_hand_l_ctrl --allbake_timeline_constraintBake a timeline constraint into plain keys on the child
Writes the motion the constraint gives the child as transform keys, then keys the constraint off over the baked range. --frames names the frames; with none, the ranges where the constraint is active are baked. Only transform constraints are baked. Needs the Level Sequence open in a Sequencer window; the command opens it when it can.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the rig track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| section_index | int | No | Section index on the track |
| constraint_name | string | Yes | Constraint name from list_timeline_constraints |
| frames | json | No | Array of frames to bake; empty = the active ranges |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
cfa bake_timeline_constraint --asset-path /Game/Cine/Shot010 --track-index 0 --constraint-name Parent_hand_l_ctrllist_control_rig_anim_layersRead the sequence's Control Rig anim layers (index, name, weight, type, controls)
Read-only and purely reflective: UAnimLayers is a private engine class stored as asset user data on the Level Sequence. Returns has_anim_layers=false and an empty list when the sequence has none - it never creates the layer container the way the engine's own getter does.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| filter | string | No | Substring filter on the layer name |
| max_results | int | No | Max layers to return (0 = all); reports truncated |
| max_controls | int | No | Max control names listed for each layer (0 = all); control_count always gives the total |
select_control_rig_controlsSelect controls of a rig track
Sets which controls of a Sequencer rig are selected. --mode replace (default) clears the selection on every rig of the sequence first, add keeps it, remove takes the named controls off. --clear selects nothing. --mirrored replace moves the selection to the controls on the other side (hand_l to hand_r), --mirrored add keeps both sides; the left and right name parts come from the project's Control Rig pose mirror settings. --pose-path selects the controls a pose asset holds. --frame moves the level viewport camera to the selected controls (the Animation mode's Frame Selection; it opens the sequence and turns the mode on) and replies camera_location and camera_moved. Works with the sequence closed. get_control_rig_selection reads the result.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the rig track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| control_names | stringlist | No | Controls to select, add or take off |
| mode | string | No | replace (default) | add | remove |
| clear | bool | No | Select nothing on every rig of the sequence |
| mirrored | string | No | none (default) | replace | add |
| pose_path | string | No | Pose asset whose controls join the names given |
| frame | bool | No | Move the level viewport camera to the selected controls |
cfa select_control_rig_controls --asset-path /Game/Cine/Shot010 --track-index 0 --control-names hand_l_ctrl --mirrored addget_control_rig_selectionRead which controls of a rig track are selected
The selected controls of one Sequencer rig, the same selection the Anim Outliner shows. Read-only.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the rig track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| filter | string | No | Substring filter on the control name |
| max_results | int | No | Max names to return (0 = all); reports truncated |
cfa get_control_rig_selection --asset-path /Game/Cine/Shot010 --track-index 0mirror_control_rig_poseMirror the pose of some controls to or from the other side
The Animation mode's two mirror tools. --onto selected (default): the named controls take the mirrored pose of their counterparts on the other side. --onto opposite: the counterparts take the mirrored pose of the named controls. A control with no counterpart mirrors onto itself. The engine finds the counterpart by name parts on 5.6 and by mirrored position from 5.7 on; the reply says which. On 5.8 the result is the world-space mirror. On 5.6 and 5.7 the engine mirrors each control's local values with the axes of the project's Control Rig pose mirror settings, so on a rig whose left and right bones have different axes (an FK rig on the mannequin) the result is not the world-space mirror; a second mirror gives the start pose back. For a world-space place on those engines, read it with get_control_rig_world_transform and key the counterpart with set_control_rig_world_transform. --key (default true) keys the result at --frame. The reply lists the controls that changed; verdict pass_with_warnings means nothing changed. The selection is put back after the call. Needs the Level Sequence open in a Sequencer window; the command opens it when it can.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the rig track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| control_names | stringlist | Yes | Controls the mirror starts from |
| onto | string | No | selected (default) | opposite |
| key | bool | No | Key the result at the frame |
| frame | int | No | Display-rate frame to work at; default the playhead |
cfa mirror_control_rig_pose --asset-path /Game/Cine/Shot010 --track-index 0 --control-names hand_l_ctrl --onto opposite --frame 24reset_control_rig_controlsPut controls back to their default values
The Animation mode's Zero Transforms: the named controls, or every control with --all, go back to their default (initial) values. --include-channels (default true) also resets animation channels. --key (default true) keys the result at --frame. --invert-input-pose is the tool for a layered rig: it goes to the input pose. The reply lists the controls that changed and any control that is not at its default after the reset. Needs the Level Sequence open in a Sequencer window; the command opens it when it can.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the rig track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| control_names | stringlist | No | Controls to reset; give this or all |
| all | bool | No | Reset every control of the rig |
| include_channels | bool | No | Also reset animation channels |
| key | bool | No | Key the result at the frame |
| invert_input_pose | bool | No | Layered rig: go to the input pose |
| frame | int | No | Display-rate frame to work at; default the playhead |
cfa reset_control_rig_controls --asset-path /Game/Cine/Shot010 --track-index 0 --control-names hand_l_ctrl,hand_r_ctrl --frame 0tween_control_rigKey controls between their key before and their key after
The Animation mode's Tween slider for the named controls at --frame: --value -1 is the pose of the key before the frame, 1 the pose of the key after it, 0 halfway. It keys the result at the frame. A control needs a key before and a key after the frame; verdict pass_with_warnings means nothing changed. tween_keys works on the keys of any channel; this one works on whole controls at one frame. Needs the Level Sequence open in a Sequencer window; the command opens it when it can.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the rig track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| control_names | stringlist | Yes | Controls to tween |
| value | float | Yes | -1 = the key before, 1 = the key after, 0 = halfway |
| frame | int | No | Display-rate frame to work at; default the playhead |
cfa tween_control_rig --asset-path /Game/Cine/Shot010 --track-index 0 --control-names hand_l_ctrl --value=-0.5 --frame 12replace_control_rigChange the rig of a Control Rig track and keep its keys
Puts another Control Rig on the track: give exactly one of --control-rig-asset-path or --control-rig-class. Sections and keys stay; a control keeps its keys when the new rig has a control with the same name, and the new controls get channels. The reply counts both. A track that still has its old rig's default name takes the new rig's name. The same class is refused: refresh_control_rig_track is the command for a recompiled rig. Works with the sequence closed. Check the result with validate_control_rig_track.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the rig track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| control_rig_asset_path | string | No | Control Rig Blueprint the track changes to |
| control_rig_class | string | No | Native rig class the track changes to, e.g. FKControlRig |
cfa replace_control_rig --asset-path /Game/Cine/Shot010 --binding-guid <guid> --track-index 0 --control-rig-asset-path /Game/Rigs/CR_Hero_v2create_control_rig_poseSave the pose of a Sequencer rig as a pose asset
Makes a Control Rig Pose asset (the pose library's asset) from the pose the rig has at --frame: every animatable control, or only --control-names. --pose-path is the new asset; a path that exists is refused. The pose holds each control's value and local transform. Paste it with paste_control_rig_pose, read it with get_control_rig_pose. Needs the Level Sequence open in a Sequencer window; the command opens it when it can.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the rig track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| pose_path | string | Yes | Content path of the new pose asset, e.g. /Game/Poses/P_Wave |
| control_names | stringlist | No | Controls to save; default every animatable control |
| frame | int | No | Display-rate frame to work at; default the playhead |
cfa create_control_rig_pose --asset-path /Game/Cine/Shot010 --track-index 0 --pose-path /Game/Poses/P_Wave --frame 24paste_control_rig_posePaste a pose asset onto a Sequencer rig
The pose library's Paste Pose at --frame. With no --control-names it pastes onto the controls of the pose (their counterparts with --mirror); with names, only onto those. --key (default true) keys the result. --mirror pastes the mirrored pose (see mirror_control_rig_pose for what mirror means on each engine). --additive adds the pose on top of the pose the rig has. --blend 0..1 is the library's blend slider: 0 is the pose the rig has now, 1 the pose of the asset. The reply lists the controls that changed; verdict pass_with_warnings means nothing changed. The selection is put back after the call. Needs the Level Sequence open in a Sequencer window; the command opens it when it can.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the rig track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| pose_path | string | Yes | Pose asset to paste |
| control_names | stringlist | No | Controls to paste onto; default the controls of the pose |
| key | bool | No | Key the result at the frame |
| mirror | bool | No | Paste the mirrored pose |
| additive | bool | No | Add the pose on top of the pose the rig has |
| blend | float | No | 0 = the pose the rig has now, 1 = the pose of the asset |
| frame | int | No | Display-rate frame to work at; default the playhead |
cfa paste_control_rig_pose --asset-path /Game/Cine/Shot010 --track-index 0 --pose-path /Game/Poses/P_Wave --frame 48 --blend 0.5get_control_rig_poseRead the controls a pose asset holds
Lists the controls of a Control Rig Pose asset: name, control type, and the local transform (location, rotation, scale to three decimals) or the value of a bool, float or integer control. Read-only.
| Parameter | Type | Required | Description |
|---|---|---|---|
| pose_path | string | Yes | Pose asset to read |
| filter | string | No | Substring filter on the control name |
| max_results | int | No | Max controls to return (0 = all); reports truncated |
cfa get_control_rig_pose --pose-path /Game/Poses/P_Wave --filter handrename_control_rig_pose_controlRename one control inside a pose asset
Changes the control name a pose asset stores, so the pose fits a rig whose control was renamed. A name the pose does not hold is answered with the nearest names; a new name the pose holds already is refused.
| Parameter | Type | Required | Description |
|---|---|---|---|
| pose_path | string | Yes | Pose asset to change |
| control_name | string | Yes | Control name the pose holds now |
| new_name | string | Yes | Name it gets |
cfa rename_control_rig_pose_control --pose-path /Game/Poses/P_Wave --control-name hand_l_ctrl --new-name hand_left_ctrlget_control_rig_track_settingsRead the rig settings of a Control Rig track: the public variables of its rig
Lists each public variable of the track's rig with its type, the value the rig has now, and stored_on_track (the track keeps a value for it). These are the values of the track editor's Recreate Control Rig With New Settings. A rig with no public variable gives an empty list and a note. Read-only.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
cfa get_control_rig_track_settings --asset-path /Game/Seq/LS_Shot --binding-guid <guid> --track-index 0set_control_rig_track_settingsSet public variables of a track's rig and build the rig again with them
The track editor's Recreate Control Rig With New Settings. settings is a JSON object of public variable name to value. The track stores the values, the rig runs its construction again with them, and the sections build their channels again. The reply has the settings read back from the rig, controls_before/after, keys_before/after and a verdict. UE 5.7 and 5.8 keep the keys of the controls that stay; UE 5.6 clears every key of the track, and the reply says so with pass_with_warnings. A name that is not a public variable is answered with the names; a value of the wrong type is refused and nothing changes.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| settings | json | Yes | JSON object: public variable name to value |
cfa set_control_rig_track_settings --asset-path /Game/Seq/LS_Shot --binding-guid <guid> --track-index 0 --settings '{"FingerCount":4}'get_control_rig_rotation_ordersRead the rotation order each control uses on a Control Rig track
Lists the animatable controls that have rotation channels with order (the euler order the keys of the track are in: XYZ... ZYX, or default for the plain rotator order), rig_setting (the preferred rotation order of the rig) and differs_from_rig_setting. The engine keeps the two the same when it sees the rig construct; when they differ, sync_control_rig_rotation_orders converts the keys. Read-only.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| only_changed | bool | No | Only the controls with an order on the track or in the rig |
| filter | string | No | Substring filter on the control name |
| max_results | int | No | Max controls to return (0 = all); reports truncated |
cfa get_control_rig_rotation_orders --asset-path /Game/Seq/LS_Shot --binding-guid <guid> --track-index 0 --only-changedsync_control_rig_rotation_ordersConvert the rotation keys of a track to the rotation order the rig has now
The engine keeps the euler order of a track the same as the preferred rotation order of the rig: it converts the keys after a construction of the track's rig. When a rig is compiled while its sequence is loaded and Sequencer is closed, the track can keep the old order. Then the rig reads the old keys in the new order: the pose is wrong, and get_control_rig_rotation_orders shows differs_from_rig_setting. This command runs the engine's conversion now for every control that differs. The pose on each key is the pose that was keyed; frames between keys can differ, because another euler order interpolates another way. The reply lists converted (control, was, order), keys_before/after and a verdict. To give a control another order, set it in the rig asset (set_rig_control_settings with bUsePreferredRotationOrder and PreferredRotationOrder), compile, then run this.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
cfa sync_control_rig_rotation_orders --asset-path /Game/Seq/LS_Shot --binding-guid <guid> --track-index 0list_control_rig_selection_setsList the selection sets of a Level Sequence (UE 5.7+)
The sets of the Animation mode's Selection Sets panel: name, guid, row, color, controls, and actors when the set has any. A control of a set over several rigs reads ActorLabel:control. Opens the sequence in Sequencer. UE 5.6 has no selection sets and says so. Read-only.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| filter | string | No | Substring filter on the set name |
| max_results | int | No | Max sets to return (0 = all); reports truncated |
cfa list_control_rig_selection_sets --asset-path /Game/Seq/LS_Shotcreate_control_rig_selection_setMake a selection set from controls of a rig track, or mirror a set (UE 5.7+)
Makes a set of the Selection Sets panel. With control_names the controls of the rig track become the Sequencer selection and the engine builds the set from it, with the mirror name of each control. With mirror_of the engine makes the mirrored set of an existing one. name and color are set after. The Sequencer selection changes.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| name | string | No | Name of the new set (default: the name the engine gives) |
| control_names | stringlist | No | Controls of the set (repeatable) |
| binding_guid | string | No | Binding GUID that owns the rig track of the controls; omit for a root track |
| track_index | int | No | Rig track of the controls, from list_control_rigs |
| mirror_of | string | No | Name or guid of a set to mirror, in place of control_names |
| color | json | No | Colour: [r,g,b(,a)] 0-255 or 0-1, {r,g,b,a}, or (R=,G=,B=,A=) |
cfa create_control_rig_selection_set --asset-path /Game/Seq/LS_Shot --binding-guid <guid> --track-index 0 --name Arm_L --control-names hand_l_ctrl --control-names lowerarm_l_ctrlset_control_rig_selection_setRename a selection set, change its colour or row, add or remove controls (UE 5.7+)
set is the name or the guid of the set; two sets with one name need the guid. add_control_names and remove_control_names work on the rig track that binding_guid and track_index name; a control the set has already is not added twice. The reply is the set read back.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| set | string | Yes | Name or guid of the set |
| new_name | string | No | New name of the set |
| color | json | No | Colour: [r,g,b(,a)] 0-255 or 0-1, {r,g,b,a}, or (R=,G=,B=,A=) |
| row | int | No | New row of the set in the panel; -1 leaves it |
| add_control_names | stringlist | No | Controls to add (repeatable) |
| remove_control_names | stringlist | No | Controls to take out (repeatable) |
| binding_guid | string | No | Binding GUID that owns the rig track of the controls; omit for a root track |
| track_index | int | No | Rig track of the controls, from list_control_rigs |
cfa set_control_rig_selection_set --asset-path /Game/Seq/LS_Shot --set Arm_L --new-name LeftArm --add-control-names clavicle_l_ctrl --binding-guid <guid>remove_control_rig_selection_setRemove one selection set, or all of them (UE 5.7+)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| set | string | No | Name or guid of the set to remove |
| all | bool | No | Remove every set of the sequence |
cfa remove_control_rig_selection_set --asset-path /Game/Seq/LS_Shot --set Arm_Lapply_control_rig_selection_setUse a selection set: select, deselect, show, hide, isolate, show all or key its controls (UE 5.7+)
Runs one action of the Selection Sets panel on every rig of the open sequence that has controls of the set. select and deselect take --mirror, --add and --toggle. show, hide, isolate, show_all and key need the Animation editor mode, which is on while Sequencer has a sequence with a Control Rig track open. The reply has the controls that are selected after the action, per rig track, and keys_added.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| set | string | Yes | Name or guid of the set |
| action | string | Yes | select, deselect, show, hide, isolate, show_all or key |
| mirror | bool | No | Act on the mirrored controls of the set |
| add | bool | No | select: keep the current selection and add the set |
| toggle | bool | No | select: toggle each control of the set |
cfa apply_control_rig_selection_set --asset-path /Game/Seq/LS_Shot --set Arm_L --action selectvalidate_control_rig_trackVerdict for the rig tracks: rig class resolvable, every control has channels, mask consistent
Returns verdict = pass | pass_with_warnings | fail plus findings (code, severity, target, message). Errors: missing_control_rig_class, no_sections, wrong_section_class, control_without_channels. Errors also: space_key_missing_element, constraint_unresolved, constraint_handles_unresolved. Warnings: masked_control_has_keys, orphan_channel_map_entry, all_controls_masked, constraint_never_keyed.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | No | Track index; -1 checks every Control Rig track |
| filter | string | No | Substring filter on the finding code or target |
| max_results | int | No | Max findings to return (0 = all); reports truncated |
add_control_rig_space_keyKey a space switch on a rig control (world, default parent, another control, or a bone)
space_type world and default_parent need no target; control and bone need space_target. world keys the WorldSpace sentinel, default_parent keys Parent with no element, and a control or bone target keys ControlRig with that element - even when it is the control's own parent. The space channel is created on first use. The FIRST space key also sets the space for every frame before it, so one key alone switches the whole timeline; key the old space on an earlier frame to keep it. Without --compensate only the space key is written and the control jumps at the switch. --compensate keys the space the way the space picker does: the control keeps its world pose across the switch (it needs the sequence open in Sequencer).
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| section_index | int | No | Section index on the track (default 0) |
| control_name | string | Yes | Control name from list_rig_controls |
| space_type | string | Yes | world | default_parent | control | bone |
| space_target | string | No | Element name; required for space_type control or bone |
| frame | float | Yes | Key time in time_unit units |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
| compensate | bool | No | Key the space the way the space picker does: the control keeps its world pose across the switch (needs the sequence open in Sequencer) |
cfa add_control_rig_space_key --asset-path /Game/Cine/Shot010 --track-index 0 --control-name Hand_L_ctrl --space-type world --frame 30list_control_rig_space_keysSpace keys per control: keyed frames, the unique space list, and the resulting intervals
Epic exposes no space read at all. Each control reports its keys (frame + space), the unique spaces it ever switches to with whether each still resolves, and the frame intervals each space covers.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| section_index | int | No | Section index on the track (default 0) |
| control_name | string | No | Control name; omit to read every control with a space channel |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
| filter | string | No | Substring filter on the control name |
| max_results | int | No | Max controls to return (0 = all); reports truncated |
cfa list_control_rig_space_keys --asset-path /Game/Cine/Shot010 --track-index 0remove_control_rig_space_keyDelete one space key from a control's space channel
Deletes by time, never by value: only the key at that exact frame goes, reported as keys_removed. The editor's own space delete compensates the surrounding transform keys. This one does not - the compensation path needs an open Sequencer. The output says so on every call.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| section_index | int | No | Section index on the track (default 0) |
| control_name | string | Yes | Control name from list_control_rig_space_keys |
| frame | float | Yes | Frame of the space key to delete, in time_unit units |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
cfa remove_control_rig_space_key --asset-path /Game/Cine/Shot010 --track-index 0 --control-name Hand_L_ctrl --frame 30add_timeline_constraintConstrain a rig control or actor to another, with an activation channel on the rig section
Child and parent are each either a rig control on the track (child_control_name / parent_control_name) or an actor binding (child_binding_guid / parent_binding_guid). The constraint is registered on the world's constraints manager and its activation channel is added to the section, so it can be keyed with set_constraint_active_key. No automatic compensation is applied.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| section_index | int | No | Section index on the track (default 0) |
| constraint_type | string | Yes | parent | position | rotation | scale | look_at |
| child_control_name | string | No | Child rig control name |
| child_binding_guid | string | No | Binding GUID of the child actor, when the child is not a rig control |
| parent_control_name | string | No | Parent rig control name on the same rig |
| parent_binding_guid | string | No | Binding GUID of the parent actor, when the parent is not a rig control |
| maintain_offset | bool | No | Keep the current relative offset |
cfa add_timeline_constraint --asset-path /Game/Cine/Shot010 --track-index 0 --constraint-type parent --child-control-name Hand_L_ctrl --parent-binding-guid <guid>list_timeline_constraintsConstraints on a rig section: name, type, child, parent, and their activation keys
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| section_index | int | No | Section index on the track (default 0) |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
| filter | string | No | Substring filter on the constraint name or type |
| max_results | int | No | Max constraints to return (0 = all); reports truncated |
cfa list_timeline_constraints --asset-path /Game/Cine/Shot010 --track-index 0set_constraint_active_keyKey a timeline constraint on or off at a frame
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| section_index | int | No | Section index on the track (default 0) |
| constraint_name | string | Yes | Constraint name from list_timeline_constraints |
| active | bool | No | Whether the constraint is active from this key on |
| frame | float | Yes | Key time in time_unit units |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
cfa set_constraint_active_key --asset-path /Game/Cine/Shot010 --track-index 0 --constraint-name ParentConstraint --active --frame 30remove_constraint_keyDelete one constraint activation key
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| section_index | int | No | Section index on the track (default 0) |
| constraint_name | string | Yes | Constraint name from list_timeline_constraints |
| frame | float | Yes | Frame of the activation key to delete, in time_unit units |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
cfa remove_constraint_key --asset-path /Game/Cine/Shot010 --track-index 0 --constraint-name ParentConstraint --frame 30load_anim_into_control_rigBake an AnimSequence onto a Control Rig section, headless
Needs a Skeletal Mesh Component the engine baker can sample: the rig's bound component, or the actor behind binding_guid. anim_start and anim_end are frames of the SOURCE animation, not the timeline. Reports the section key count before and after.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| section_index | int | No | Section index on the track (default 0) |
| animation | string | Yes | Path to the AnimSequence to bake onto the rig |
| start_frame | float | No | Where on the timeline the animation starts, in time_unit units |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
| use_custom_anim_range | bool | No | Restrict the source to anim_start..anim_end |
| anim_start | float | No | First source frame; needs use_custom_anim_range |
| anim_end | float | No | Last source frame; needs use_custom_anim_range |
| reset_controls | bool | No | Reset every control to its default before baking |
| key_reduce | bool | No | Run key reduction after baking |
| tolerance | float | No | Key reduction tolerance |
| interpolation | string | No | smart_auto (default), auto, linear, constant |
| onto_selected | bool | No | Bake onto the editor's selected controls only |
cfa load_anim_into_control_rig --asset-path /Game/Cine/Shot010 --track-index 0 --animation /Game/Anims/AS_Runbake_to_control_rigBake a skeletal binding's animation onto a new Control Rig track (needs an open Sequencer)
The engine function behind this crashes when no Level Sequence is open, so the sequence is opened first and the command refuses with requires_sequencer_window rather than calling in blind. Name the rig with exactly one of control_rig_asset_path or control_rig_class; control_rig_class FKControlRig is the editor's "Bake To FK Control Rig". The bake is destructive to the binding's existing Control Rig tracks. On UE 5.8 the engine removes every Control Rig track on the binding and adds a fresh one; on 5.6 and 5.7 it keeps them, mutes their sections and reuses the first one for the new rig. The binding's skeletal animation track survives either way, but 5.8 disables the whole track while 5.6 and 5.7 only mute its sections. removed_tracks lists the rig tracks (by object identity) that were there before and are gone after, replaced_tracks counts how many came back with the same name and rig class, which is what a same-class re-bake on 5.8 looks like. animation_track_state reports present / disabled / muted / removed / none as observed, so expect disabled on 5.8 where 5.6 and 5.7 say muted. When tracks were removed the reply carries a warning saying their keys went with them. The engine always renames the baked track to the rig class name, so the reply puts track_name back, or the name of the one rig track that was there before when you pass none.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Binding GUID of the skeletal mesh actor to bake from |
| control_rig_asset_path | string | No | Control Rig Blueprint asset to bake onto (exactly one of control_rig_asset_path / control_rig_class) |
| control_rig_class | string | No | Engine Control Rig class to bake onto, e.g. FKControlRig |
| reduce_keys | bool | No | Run key reduction after baking |
| track_name | string | No | Name for the baked track; without it the single track that was there before keeps its name |
| tolerance | float | No | Key reduction tolerance |
| reset_controls | bool | No | Reset every control to its default before baking |
cfa bake_to_control_rig --asset-path /Game/Cine/Shot010 --binding-guid <guid> --control-rig-class FKControlRigexport_control_rig_to_anim_sequenceExport a binding's animation back out to an AnimSequence (needs an open Sequencer)
The reverse bake Epic never exposed to the CLI. The destination AnimSequence is created against the binding's skeleton when it does not exist yet.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | Yes | Binding GUID of the skeletal mesh actor to export |
| anim_sequence_path | string | Yes | Destination AnimSequence path; created when missing |
| create_link | bool | No | Store a bidirectional link between the sequence and the AnimSequence |
| frame_rate | string | No | Sampling rate for the exported AnimSequence, e.g. 24 or 30000/1001; defaults to the sequence's display rate |
| overwrite | bool | No | Delete and rebuild the destination AnimSequence when it already holds animation at a different frame rate |
cfa export_control_rig_to_anim_sequence --asset-path /Game/Cine/Shot010 --binding-guid <guid> --anim-sequence-path /Game/Anims/AS_Take01smart_reduce_control_rigKey reduction tuned for rig channels (needs an open Sequencer)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| section_index | int | No | Section index on the track (default 0) |
| tolerance_percentage | float | No | Tolerance as a percentage of the value range, 0 to 100 |
| sample_rate | float | No | Sampling rate used to compare against the tolerance |
cfa smart_reduce_control_rig --asset-path /Game/Cine/Shot010 --track-index 0 --tolerance-percentage 5snap_control_rigSnap controls onto an actor or another control over a frame range (needs an open Sequencer)
Name the target with exactly one of target_control_name, target_binding_guid or target_actor_name. A key is written per frame across the interval.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| control_names | stringlist | Yes | Controls to snap |
| target_binding_guid | string | No | Binding GUID of the actor to snap onto |
| target_actor_name | string | No | Level actor name to snap onto |
| target_control_name | string | No | Control on the same rig to snap onto |
| start_frame | float | Yes | First frame of the snap interval, in time_unit units |
| end_frame | float | Yes | Last frame of the snap interval, in time_unit units |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
| keep_offset | bool | No | Keep the current offset instead of snapping exactly |
| snap_position | bool | No | Snap position |
| snap_rotation | bool | No | Snap rotation |
| snap_scale | bool | No | Snap scale |
| bake_all_frames | bool | No | Snap on every frame of the interval; off by default, which snaps only on frames that already carry keys on the control or on the target |
| frame_increment | int | No | Frame step when bake_all_frames is on |
cfa snap_control_rig --asset-path /Game/Cine/Shot010 --track-index 0 --control-names Hand_L_ctrl --target-actor-name Prop_Sword --start-frame 0 --end-frame 60collapse_control_rig_anim_layersFlatten every section and layer on a rig track into one (needs an open Sequencer)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| key_reduce | bool | No | Run key reduction after collapsing |
| tolerance | float | No | Key reduction tolerance |
cfa collapse_control_rig_anim_layers --asset-path /Game/Cine/Shot010 --track-index 0bake_control_rig_spaceBake space switches into plain keys over a range (needs an open Sequencer)
space_type world and default_parent need no target; control and bone need space_target. Every space key inside the range is deleted, and the control is rewritten in the target space. The engine bakes smart by default: it writes transform values only at frames that ALREADY carry a transform key (plus the frames of any parent control that was driving a space), so a range with no transform keys gains none. It does not sample per frame, and reduce_keys/tolerance apply only to the engine's per-frame mode, which this command does not use. Expect space_keys_after to drop to 0 or 1 (a compensation key at start_frame) while transform_keys_after stays put.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| control_names | stringlist | Yes | Controls whose space switches are baked into keys |
| space_type | string | No | world | default_parent (default) | control | bone |
| space_target | string | No | Element name; required for space_type control or bone |
| start_frame | float | Yes | First frame of the bake range, in time_unit units |
| end_frame | float | Yes | Last frame of the bake range, in time_unit units |
| time_unit | string | No | frames (display rate, default) | ticks | seconds |
| reduce_keys | bool | No | Run key reduction after baking |
| tolerance | float | No | Key reduction tolerance |
cfa bake_control_rig_space --asset-path /Game/Cine/Shot010 --track-index 0 --control-names Hand_L_ctrl --space-type world --start-frame 0 --end-frame 60set_control_rig_layered_modeToggle a rig track between layered/additive and absolute (needs an open Sequencer)
A rig can only be layered when it has a Backwards Solve event; the command says so when it cannot.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
| layered | bool | No | True for layered/additive, false for absolute |
cfa set_control_rig_layered_mode --asset-path /Game/Cine/Shot010 --track-index 0 --layeredrefresh_control_rig_trackRebuild a rig track's instance against the blueprint's current compiled class, keeping the keys
A track holds a live rig instance of whatever class the blueprint had when the track was made. Recompiling the blueprint outside an open Sequencer leaves that instance on the old class, so it still reports the old controls and the old event set, which is why a freshly added Backwards Solve does not enable layered mode. This re-instances the rig the way the editor reinstancer does and reports what changed. Channels and keys are kept.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Path to the Level Sequence |
| binding_guid | string | No | Binding GUID that owns the track; omit for a root track |
| track_index | int | Yes | Track index from list_control_rigs |
cfa refresh_control_rig_track --asset-path /Game/Cine/Shot010 --track-index 0list_mixer_layersLayers of an Animation Mixer track (UE 5.8+, MovieSceneAnimMixer plugin)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Level sequence asset path |
| binding_guid | string | No | Binding GUID owning the track (omit for root tracks) |
| track_index | int | Yes | Mixer track index (create one with add_track --track-type MovieSceneAnimationMixerTrack) |
| filter | string | No | Substring filter on layer name |
| max_results | int | No | Max layers (0 = all) |
add_mixer_layerAppend or insert a layer on an Animation Mixer track (UE 5.8+)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Level sequence asset path |
| binding_guid | string | No | Binding GUID owning the track |
| track_index | int | Yes | Mixer track index |
| index | int | No | Insert position (omit or -1 = append) |
set_mixer_layer_nameRename a mixer layer (UE 5.8+)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Level sequence asset path |
| binding_guid | string | No | Binding GUID owning the track |
| track_index | int | Yes | Mixer track index |
| layer_index | int | Yes | Layer index |
| name | string | Yes | New display name |
add_mixer_animationPut an animation sequence on a mixer layer (UE 5.8+); overlapping sections on one layer auto-create a crossfade transition
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Level sequence asset path |
| binding_guid | string | No | Binding GUID owning the track |
| track_index | int | Yes | Mixer track index |
| layer_index | int | Yes | Layer index (must exist and hold no child track) |
| animation | string | Yes | AnimSequence asset path |
| start_frame | float | Yes | Start time in time_unit |
| time_unit | string | No | frames (default), seconds or ticks |
add_mixer_child_trackPut a child track (e.g. MovieSceneControlRigParameterTrack) on an empty mixer layer (UE 5.8+)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Level sequence asset path |
| binding_guid | string | No | Binding GUID owning the track (default: the mixer track's own binding) |
| track_index | int | Yes | Mixer track index |
| layer_index | int | Yes | Layer index (must be empty) |
| track_class | string | Yes | Child track class name |
list_mixer_transitionsTransitions on an Animation Mixer track (UE 5.8+)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Level sequence asset path |
| binding_guid | string | No | Binding GUID owning the track |
| track_index | int | Yes | Mixer track index |
| section_index | int | No | Only transitions touching this section (-1 = all) |
| to_section_index | int | No | With section_index: only the transition between the two (-1 = ignore) |
| filter | string | No | Substring filter on class/display name |
| max_results | int | No | Max transitions (0 = all) |
set_mixer_transition_typeChange a transition's class, e.g. MovieSceneAnimInertialDeadBlendTransitionSection (UE 5.8+)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Level sequence asset path |
| binding_guid | string | No | Binding GUID owning the track |
| track_index | int | Yes | Mixer track index |
| transition_index | int | Yes | Index from list_mixer_transitions |
| transition_class | string | Yes | Transition class name |
list_decorationsDecorations on a track, section or mixer layer plus the compatible classes (UE 5.8+)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Level sequence asset path |
| target | string | Yes | track, section or layer |
| binding_guid | string | No | Binding GUID owning the track |
| track_index | int | Yes | Track index |
| section_index | int | No | Section index (target=section) |
| layer_index | int | No | Mixer layer index (target=layer) |
| filter | string | No | Substring filter on class name |
| max_results | int | No | Max decorations (0 = all) |
add_decorationAdd a decoration (weight, mask, mirroring, root motion target...) to a track, section or mixer layer (UE 5.8+)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Level sequence asset path |
| target | string | Yes | track, section or layer |
| binding_guid | string | No | Binding GUID owning the track |
| track_index | int | Yes | Track index |
| section_index | int | No | Section index (target=section) |
| layer_index | int | No | Mixer layer index (target=layer) |
| decoration_class | string | Yes | Decoration class name (see list_decorations compatible_classes) |
remove_decorationRemove a decoration from a track, section or mixer layer (UE 5.8+)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Level sequence asset path |
| target | string | Yes | track, section or layer |
| binding_guid | string | No | Binding GUID owning the track |
| track_index | int | Yes | Track index |
| section_index | int | No | Section index (target=section) |
| layer_index | int | No | Mixer layer index (target=layer) |
| decoration_class | string | Yes | Decoration class name |
set_mixer_layer_weightSet a mixer layer's weight as a default or a key (UE 5.8+); creates the Layer Weight decoration and its section on demand
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Level sequence asset path |
| binding_guid | string | No | Binding GUID owning the track |
| track_index | int | Yes | Mixer track index |
| layer_index | int | Yes | Layer index |
| weight | float | Yes | Weight 0..1 |
| frame | float | No | Key time in time_unit (omit = set the default value) |
| time_unit | string | No | frames (default), seconds or ticks |
validate_mixer_trackVerdict on an Animation Mixer track: layers, section/child-track exclusivity, transitions (UE 5.8+)
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Level sequence asset path |
| binding_guid | string | No | Binding GUID owning the track |
| track_index | int | Yes | Mixer track index |