Fighting Game · Guides & deep dives

Sequencer Recording Mode

recording state, and an action request.

4sections2 minread

On this page

Task: TODOS.phase-72.72.15.2.9

Sequencer recording mode is a V2Editor TimelineVisualizer auto-key surface for capturing viewport object movement and edited property values while a recording take is active. It keeps explicit recording state, arms a target track, and turns captured viewport/property values into sequencer keyframes at the current frame.

Runtime API#

  • Panel spec: FV2SequencerRecordingModePanelSpec
  • State: FV2SequencerRecordingModeState
  • Request: FV2SequencerRecordingModeRequest
  • Result: FV2SequencerRecordingModeResult
  • Action enum: EV2SequencerRecordingModeActionType
  • Issue enum: EV2SequencerRecordingModeIssueType

ApplySequencerRecordingModeRequest accepts the current sequence, panel spec, recording state, and an action request. Start/stop/toggle actions update the recording state. Capture actions require active recording and auto-key, validate the armed track and binding, then create or replace a keyframe at the current frame.

Behavior#

  • The panel spec targets TimelineVisualizer, shows a recording indicator, and requires an armed track.
  • Viewport transform capture records vector/rotator movement values from the editor viewport into the selected track.
  • Property capture records scalar, color, bool, name, string, or enum values into the selected property track.
  • Auto-key creation uses deterministic take/track/frame key ids for new keyframes.
  • Existing keyframes at the current frame can be replaced when requested, or rejected as duplicate frame captures.
  • Locked tracks reject capture while still allowing recording state to be stopped or toggled.
  • Result state tracks recorded keyframe ids so undo/redo and UI selection can identify the captured edits.

The default QA fixture uses Seq.DataModel.CouncilIntro, take Take.Recording.Cassia, track Track.Cassia.Transform, binding Binding.Actor.Cassia, and frame 45 for viewport transform recording. It also captures a FOV property keyframe on Track.HeroCamera.FOV.

QA Inventory#

  • State: verify initial stopped state, start recording, active take id, armed track, and stop recording.
  • Viewport capture: verify moving the selected object creates a vector keyframe at the current frame and records the key id in state.
  • Replacement: verify capture can replace an existing current-frame keyframe without changing keyframe count.
  • Property capture: verify property values can create keyframes on a property track while recording is active.
  • Off-path: reject capture when recording is inactive, auto-key is disabled, a duplicate frame is not replaceable, or the target track is locked.

js_repl Playwright interaction was unavailable in this session and the affected surface is Unreal editor data rather than browser-rendered UI, so verification is through UE editor automation and contract gates.

Verification#

  • python3 V2/ue/Tools/check-v2-sequencer-recording-mode.py
  • V2.Editor.Sequencer.RecordingMode
  • python3 V2/ue/Tools/check-v2-editor-module.py
  • python3 V2/ue/Tools/check-v2-ci-workflow.py