editor.sequencer

Level Sequence and cinematic editing

← API Reference

Version Availability: 6 methods (create, getInfo, getMarkedFrames, addCameraCutTrack, addCameraCut, playback) work on UE 5.6.0+. The remaining 21 methods require UE 5.7+ (SequencerScripting extension libraries are not DLL-exported in 5.6). On 5.6, only the available methods are advertised by system.methods.

editor.sequencer.create

Creates a new LevelSequence asset at the given package path.

Parameters:

Name Type Required Description
pathstringYesContent directory (e.g. "/Game/Sequences")
namestringYesSequence asset name

Returns:

Name Type Description
successboolWhether creation succeeded
asset_pathstringFull asset path
namestringSequence name

Example Request:

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.create", "params": { "path": "/Game/Sequences", "name": "Seq_Intro" } }

editor.sequencer.getInfo

Returns metadata about a LevelSequence including frame rates, playback range, and counts.

Parameters:

Name Type Required Description
asset_pathstringYesLevelSequence asset path

Returns:

Name Type Description
namestringSequence name
asset_pathstringAsset path
display_rate_numeratornumberDisplay frame rate numerator
display_rate_denominatornumberDisplay frame rate denominator
tick_resolution_numeratornumberTick resolution numerator
tick_resolution_denominatornumberTick resolution denominator
playback_range_startnumberPlayback start frame
playback_range_endnumberPlayback end frame
binding_countnumberNumber of bindings
track_countnumberNumber of master tracks
duration_framesnumberDuration in frames

Example Request:

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.getInfo", "params": { "asset_path": "/Game/Sequences/Seq_Intro" } }

editor.sequencer.addPossessable

Adds a possessable binding for an existing actor to the sequence.

Parameters:

NameTypeRequiredDescription
asset_pathstringYesLevelSequence asset path
actor_pathstringYesFull path of the actor to bind

Returns:

NameTypeDescription
successboolWhether binding was created
binding_idstringBinding GUID
display_namestringBinding display name

Example Request:

{
  "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.addPossessable",
  "params": { "asset_path": "/Game/Sequences/Seq_Intro", "actor_path": "/Game/Maps/Level.Level:PersistentLevel.Cube" }
}

editor.sequencer.addSpawnable

Adds a spawnable binding for an actor class to the sequence.

Parameters:

NameTypeRequiredDescription
asset_pathstringYesLevelSequence asset path
actor_classstringYesActor class name to spawn

Returns:

NameTypeDescription
successboolWhether spawnable was created
binding_idstringBinding GUID
display_namestringBinding display name

Example Request:

{
  "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.addSpawnable",
  "params": { "asset_path": "/Game/Sequences/Seq_Intro", "actor_class": "PointLight" }
}

editor.sequencer.getBindings

Returns all bindings (possessables and spawnables) in a sequence.

Parameters:

NameTypeRequiredDescription
asset_pathstringYesLevelSequence asset path

Returns: Array of objects:

NameTypeDescription
binding_idstringBinding GUID
display_namestringDisplay name
binding_typestring"spawnable" or "possessable"
track_countnumberNumber of tracks on this binding

Example Request:

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.getBindings", "params": { "asset_path": "/Game/Sequences/Seq_Intro" } }

editor.sequencer.findBinding

Finds a binding by display name (case-insensitive search).

Parameters:

NameTypeRequiredDescription
asset_pathstringYesLevelSequence asset path
namestringYesDisplay name to search for

Returns:

NameTypeDescription
binding_idstringBinding GUID
display_namestringDisplay name
binding_typestring"spawnable" or "possessable"
track_countnumberNumber of tracks

Example Request:

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.findBinding", "params": { "asset_path": "/Game/Sequences/Seq_Intro", "name": "Cube" } }

editor.sequencer.addTrack

Adds a track of the specified class to a binding.

Parameters:

NameTypeRequiredDescription
asset_pathstringYesLevelSequence asset path
binding_idstringYesBinding GUID
track_classstringYesTrack class name (e.g. "MovieScene3DTransformTrack")

Returns:

NameTypeDescription
successboolWhether track was added
track_indexnumberTrack index within the binding
track_classstringTrack class name
display_namestringTrack display name
section_countnumberNumber of sections

Example Request:

{
  "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.addTrack",
  "params": { "asset_path": "/Game/Sequences/Seq_Intro", "binding_id": "A1B2C3...", "track_class": "MovieScene3DTransformTrack" }
}

editor.sequencer.getTracks

Returns all tracks for a specific binding.

Parameters:

NameTypeRequiredDescription
asset_pathstringYesLevelSequence asset path
binding_idstringYesBinding GUID

Returns: Array of objects:

NameTypeDescription
track_indexnumberTrack index
track_classstringTrack class name
display_namestringTrack display name
section_countnumberNumber of sections

Example Request:

{
  "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.getTracks",
  "params": { "asset_path": "/Game/Sequences/Seq_Intro", "binding_id": "A1B2C3..." }
}

editor.sequencer.getMasterTracks

Returns all master (top-level) tracks in a sequence.

Parameters:

NameTypeRequiredDescription
asset_pathstringYesLevelSequence asset path

Returns: Array of objects: track_index (number), track_class (string), display_name (string), section_count (number).

Example Request:

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.getMasterTracks", "params": { "asset_path": "/Game/Sequences/Seq_Intro" } }

editor.sequencer.removeTrack

Removes a track at the specified index from a binding.

Parameters:

NameTypeRequiredDescription
asset_pathstringYesLevelSequence asset path
binding_idstringYesBinding GUID
track_indexnumberYesIndex of track to remove

Returns: success (bool).

Example Request:

{
  "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.removeTrack",
  "params": { "asset_path": "/Game/Sequences/Seq_Intro", "binding_id": "A1B2C3...", "track_index": 0 }
}

editor.sequencer.addSection

Adds a section to the specified track.

Parameters:

NameTypeRequiredDescription
asset_pathstringYesLevelSequence asset path
binding_idstringYesBinding GUID
track_indexnumberYesTrack index

Returns:

NameTypeDescription
successboolWhether section was added
section_indexnumberSection index
section_pathstringUObject path of the created section
range_startnumberSection start frame
range_endnumberSection end frame

Example Request:

{
  "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.addSection",
  "params": { "asset_path": "/Game/Sequences/Seq_Intro", "binding_id": "A1B2C3...", "track_index": 0 }
}

editor.sequencer.setSubSequence

Sets the sub-sequence reference on a UMovieSceneSubSection.

Parameters:

NameTypeRequiredDescription
asset_pathstringYesMaster LevelSequence asset path
binding_idstringNoBinding GUID (omit for master-level tracks)
track_indexnumberYesTrack index (must be a Sub Track)
section_indexnumberYesSection index within the track
sub_sequence_pathstringYesAsset path of the sub-sequence to reference

Returns: success (bool), sub_sequence_path (string), section_index (number).

Example Request:

{
  "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.setSubSequence",
  "params": { "asset_path": "/Game/Sequences/SEQ_Master", "track_index": 0, "section_index": 0, "sub_sequence_path": "/Game/Sequences/SEQ_Shot01" }
}

editor.sequencer.setSectionRange

Sets the frame range for a section.

Parameters:

NameTypeRequiredDescription
asset_pathstringYesLevelSequence asset path
binding_idstringYesBinding GUID
track_indexnumberYesTrack index
section_indexnumberYesSection index
start_framenumberYesStart frame
end_framenumberYesEnd frame

Returns: success (bool).

Example Request:

{
  "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.setSectionRange",
  "params": { "asset_path": "/Game/Sequences/Seq_Intro", "binding_id": "A1B2C3...", "track_index": 0, "section_index": 0, "start_frame": 0, "end_frame": 120 }
}

editor.sequencer.setPlaybackRange

Sets the playback range for the entire sequence.

Parameters:

NameTypeRequiredDescription
asset_pathstringYesLevelSequence asset path
start_framenumberYesStart frame
end_framenumberYesEnd frame

Returns: success (bool).

Example Request:

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.setPlaybackRange", "params": { "asset_path": "/Game/Sequences/Seq_Intro", "start_frame": 0, "end_frame": 300 } }

editor.sequencer.setDisplayRate

Sets the display rate (frames per second) for the sequence.

Parameters:

NameTypeRequiredDescription
asset_pathstringYesLevelSequence asset path
fpsnumberYesFrames per second

Returns: success (bool), fps (number).

Example Request:

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.setDisplayRate", "params": { "asset_path": "/Game/Sequences/Seq_Intro", "fps": 30 } }

editor.sequencer.addFolder

Adds a root folder to the sequence for organization.

Parameters:

NameTypeRequiredDescription
asset_pathstringYesLevelSequence asset path
folder_namestringYesName of the folder

Returns: success (bool), folder_name (string), child_folder_count (number), child_track_count (number).

Example Request:

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.addFolder", "params": { "asset_path": "/Game/Sequences/Seq_Intro", "folder_name": "Characters" } }

editor.sequencer.getFolders

Returns all root folders in a sequence.

Parameters:

NameTypeRequiredDescription
asset_pathstringYesLevelSequence asset path

Returns: Array of objects: folder_name (string), child_folder_count (number), child_track_count (number), child_binding_count (number).

Example Request:

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.getFolders", "params": { "asset_path": "/Game/Sequences/Seq_Intro" } }

editor.sequencer.setReadOnly

Sets or clears the read-only flag on a sequence.

Parameters:

NameTypeRequiredDescription
asset_pathstringYesLevelSequence asset path
read_onlyboolYesWhether sequence should be read-only

Returns: success (bool), read_only (bool).

Example Request:

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.setReadOnly", "params": { "asset_path": "/Game/Sequences/Seq_Intro", "read_only": true } }

editor.sequencer.getMarkedFrames

Returns all marked frames (bookmarks) in a sequence.

Parameters:

NameTypeRequiredDescription
asset_pathstringYesLevelSequence asset path

Returns: Array of objects: index (number), frame (number), label (string), color (optional {r, g, b, a}).

Example Request:

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.getMarkedFrames", "params": { "asset_path": "/Game/Sequences/Seq_Intro" } }

editor.sequencer.addMarkedFrame

Adds a marked frame (bookmark) at a specific frame number.

Parameters:

NameTypeRequiredDescription
asset_pathstringYesLevelSequence asset path
framenumberYesFrame number to mark
labelstringYesLabel for the marked frame
colorobjectNoOptional {r, g, b, a} color (0.0-1.0)

Returns: success (bool), index (number).

Example Request:

{
  "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.addMarkedFrame",
  "params": { "asset_path": "/Game/Sequences/Seq_Intro", "frame": 60, "label": "Action Start", "color": { "r": 1.0, "g": 0.0, "b": 0.0, "a": 1.0 } }
}

editor.sequencer.setKey

Sets a keyframe on a channel at a specific frame.

Parameters:

NameTypeRequiredDescription
asset_pathstringYesLevelSequence asset path
binding_idstringYesBinding GUID
track_indexnumberYesTrack index
channel_indexnumberNoChannel index within the track (default: 0)
framenumberYesFrame number (display rate)
valuenumberYesValue to set
interpolationstringNo"linear", "cubic", or "constant" (default: "cubic")

Returns: success (bool), key_index (number), frame (number), value (number).

Example Request:

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.setKey", "params": { "asset_path": "/Game/Sequences/SEQ_S01", "binding_id": "A1B2C3...", "track_index": 0, "channel_index": 0, "frame": 100, "value": 50.0, "interpolation": "cubic" } }

editor.sequencer.getKeys

Reads keyframes from a channel within an optional frame range.

Parameters:

NameTypeRequiredDescription
asset_pathstringYesLevelSequence asset path
binding_idstringYesBinding GUID
track_indexnumberYesTrack index
channel_indexnumberNoChannel index (default: 0)
start_framenumberNoStart of frame range
end_framenumberNoEnd of frame range

Returns: Array of objects: frame (number), value (number), interpolation (string).

Example Request:

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.getKeys", "params": { "asset_path": "/Game/Sequences/SEQ_S01", "binding_id": "A1B2C3...", "track_index": 0, "channel_index": 0 } }

editor.sequencer.removeKey

Removes a keyframe at a specific frame from a channel.

Parameters:

NameTypeRequiredDescription
asset_pathstringYesLevelSequence asset path
binding_idstringYesBinding GUID
track_indexnumberYesTrack index
channel_indexnumberNoChannel index (default: 0)
framenumberYesFrame number to remove

Returns: success (bool), message (string, optional).

Example Request:

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.removeKey", "params": { "asset_path": "/Game/Sequences/SEQ_S01", "binding_id": "A1B2C3...", "track_index": 0, "channel_index": 0, "frame": 100 } }

editor.sequencer.getChannels

Lists all channels on a track's first section, including name, type, and key count.

Parameters:

NameTypeRequiredDescription
asset_pathstringYesLevelSequence asset path
binding_idstringYesBinding GUID
track_indexnumberYesTrack index

Returns: Array of objects: index (number), name (string), type (string), key_count (number). For transform tracks this returns 9 channels: Location.X/Y/Z, Rotation.X/Y/Z, Scale.X/Y/Z.

Example Request:

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.getChannels", "params": { "asset_path": "/Game/Sequences/SEQ_S01", "binding_id": "A1B2C3...", "track_index": 0 } }

editor.sequencer.addCameraCutTrack

Creates a camera cut master track on the sequence.

Parameters:

NameTypeRequiredDescription
asset_pathstringYesLevelSequence asset path

Returns: success (bool), already_existed (bool).

Example Request:

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.addCameraCutTrack", "params": { "asset_path": "/Game/Sequences/SEQ_S01" } }

editor.sequencer.addCameraCut

Adds a camera switch at a specific frame on the camera cut track.

Parameters:

NameTypeRequiredDescription
asset_pathstringYesLevelSequence asset path
binding_idstringYesCamera binding GUID
framenumberYesFrame for the camera switch

Returns: success (bool), frame (number), camera_binding (string).

Example Request:

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.addCameraCut", "params": { "asset_path": "/Game/Sequences/SEQ_S01", "binding_id": "A1B2C3...", "frame": 120 } }

editor.sequencer.playback

Controls sequencer playback: play, stop, pause, or scrub to a frame.

Parameters:

NameTypeRequiredDescription
asset_pathstringNoLevelSequence asset path
actionstringYes"play", "stop", "pause", or "scrub"
framenumberNoFrame to scrub to (required for "scrub" action)

Returns: success (bool), action (string).

Example Request:

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sequencer.playback", "params": { "action": "scrub", "frame": 60 } }