This guide is the author-facing workflow for Phase 72 cinematic sequence content. It connects the V2 Sequencer runtime data model, editor surfaces, collaboration workflow, export flow, and validation gates that protect shipped cinematics.
Source Of Truth#
- Data model contract: SequencerDataModel_V2_Contract.json
- Timeline playback contract: SequencerTimelinePlayback_V2_Contract.json
- Actor binding contract: SequencerActorBindings_V2_Contract.json
- Camera track contract: SequencerCameraTracks_V2_Contract.json
- Keyframe interpolation contract: SequencerKeyframeInterpolation_V2_Contract.json
- Timeline editor contract: SequencerTimelineEditor_V2_Contract.json
- Track management contract: SequencerTrackManagement_V2_Contract.json
- Multi-user editing contract: SequencerMultiUserEditing_V2_Contract.json
- Render video contract: SequencerRenderVideo_V2_Contract.json
- Authoring guide contract: SequencerAuthoringGuide_V2_Contract.json
Runtime data lives in FV2SequencerSequenceSpec and editor authoring flows
target the TimelineVisualizer surface.
Sequence Identity#
Every sequence needs stable identity before tracks are authored:
| Artifact | Field | Authoring Rule |
|---|---|---|
| Sequence | SequenceId |
Stable Seq. id. Do not reuse after shipping. |
| Binding | BindingId |
Stable actor, component, camera, spawnable, or global binding id. |
| Track | TrackId |
Stable per-track id scoped to the sequence. |
| Keyframe | KeyframeId |
Stable key id scoped to the track. |
| Template | TemplateId |
Stable template id for reusable sequence starts. |
Use TickResolutionFps and DurationFrames deliberately. Prefer 60 fps for
gameplay-adjacent sequences, and only use alternate rates when render, music, or
capture requirements demand it.
Timeline And Tracks#
Author each track with one responsibility. EV2SequencerTrackType supports
Transform, Property, Camera, Animation, Audio, Event, and
SubSequence. Keep display names readable for review, but treat ids as the
durable references used by tests, save data, collaboration, and analytics.
Track management rules:
- Add tracks through the track-management surface so mute, solo, collapsed group, and order state remains deterministic.
- Reorder tracks for review readability without changing stable ids.
- Lock tracks before editing in multi-user sessions.
- Use muted tracks for temporary review comparisons, not for permanent dead content.
- Remove unused tracks before final validation.
Bindings And Cameras#
Bindings connect authored data to runtime objects. Treat actor bindings as the reviewed handoff between authored sequence data and runtime actors. Use entity bindings for characters, component bindings for specific animated or property targets, camera bindings for cinematic camera state, spawnable bindings for authored temporary objects, and global bindings for sequence-wide events.
Camera tracks should include at least one authored camera binding and camera cut
when the sequence is rendered or used for thumbnails. Camera preview and
viewport preview should resolve the active camera before review. Avoid unbound
camera tracks; they make Saved/SequencerRenders and
Saved/SequencerThumbnails outputs unreliable.
Keyframes And Curves#
Use keyframes for state changes that must be deterministic in playback. Property
tracks use FV2SequencerKeyframe; camera tracks use camera keyframes, cuts, and
optional rail camera entries.
Interpolation rules:
- Use
Interpolation.Linearfor mechanical values and audio automation. - Use
Interpolation.Stepfor event-like or discrete values. - Use
Interpolation.CubicEaseInOutfor camera motion and visible character staging unless design asks for a harder move. - Use custom curve editor presets only when the curve is part of the shot direction.
Review the curve editor after moving keyframes. The keyframe interpolation pass should make timing intent clear before review. Tangent handles and preset curves should support the shot, not hide timing problems.
Audio Events And Animation#
Animation clips need stable clip ids, skeletal component ids, blend windows, looping state, playback rate, and root-motion intent. Audio cues need stable cue ids, sound paths, audio bus ids, start frames, duration, base volume, pitch, and automation when needed. Event tracks need stable event ids and payload tags that QA can trigger and inspect.
Do not encode narrative meaning only in timing. Important story beats should have event payloads, camera cuts, dialogue or bark integration, and review notes that make the intent visible to tools.
Sub-Sequences Templates And LOD#
Use sub-sequences for reusable shot fragments, repeated camera language, or large sequences that need isolated review. Use templates to start common patterns such as dialogue scenes, explosions, and camera fly-throughs, then rename sequence ids and rebind actors before content review.
LOD and trigger rules:
- Use full playback for first-view or critical-story sequences.
- Use abbreviated playback for repeat viewing only when narrative context is preserved.
- Use skip rules only for gameplay-safe cinematic moments.
- Use area, interaction, and gameplay-event triggers with explicit required tags and replay safety.
Editor Workflow#
- Create or instantiate the sequence and set
SequenceId, display name,TickResolutionFps, andDurationFrames. - Add bindings before tracks so tracks can reference durable
BindingIdvalues. - Add transform, property, camera, animation, audio, event, and sub-sequence tracks as needed.
- Add keyframes, cuts, audio cues, animation clips, and event triggers.
- Scrub in the timeline editor and viewport preview.
- Review curves, hotkeys, undo/redo history, recording-mode captures, and track order.
- Generate a thumbnail from frame
0for asset browser review. - Queue a render to
Saved/SequencerRenderswhen video review is required. - Run the validation commands in this guide before content review.
Collaboration And Review#
multi-user editing uses V2.Editor.Sequencer.MultiUserEditing. Lock a track
before editing it. Release the lock when the edit is ready for review. Remote
presence should show the editor, track owner, revision, and any dirty state.
Merge rules:
- incoming-only track changes can apply automatically.
- Local-only track changes should be kept.
- Identical local and incoming changes are accepted.
- Conflicting local and incoming changes require conflict inspection unless the review owner explicitly chooses incoming.
- Stale revisions must be rebased before merge.
Before signoff, confirm undo/redo can restore the review state and that multi-user conflicts have no blocking rows.
Export Thumbnails And Playback#
Use thumbnail preview for asset browser recognition. It captures the first frame
through the configured render target and writes a PNG under
Saved/SequencerThumbnails.
Use render-to-video for review and handoff. MP4 is the default review format; MOV/ProRes is reserved for high-quality editorial review. Include audio when the sequence has audio cues, and keep output frame ranges inside the authored duration.
Playback signoff should cover runtime timeline playback, gameplay blend, serialization, networking sync, LOD, triggers, and sub-sequence composition when those systems are present in the authored sequence.
Review Checklist#
Before cinematic content review, confirm:
SequenceId,BindingId,TrackId, andKeyframeIdvalues are stable and unique.- The sequence has positive
TickResolutionFpsandDurationFrames. - Every track has a clear
EV2SequencerTrackType, display name, and valid binding when one is required. - Camera tracks resolve an active camera for viewport preview, thumbnail generation, and render-to-video.
- Curves use approved interpolation ids such as
Interpolation.Linear,Interpolation.Step, orInterpolation.CubicEaseInOut. - Audio, event, animation, and sub-sequence tracks use stable ids and valid frame ranges.
- Multi-user locks are released or intentionally owned for active review.
- Serialization, gameplay blend, LOD, triggers, and networking behavior are valid for the sequence's intended runtime use.
- Thumbnail and video output paths are deterministic.
- CI validation passes without missing references, blocking conflicts, or stale documentation.
Validation Commands#
Run these commands after changing Sequencer runtime behavior, editor authoring surfaces, cinematic content, guide text, or CI wiring:
python3 V2/ue/Tools/check-v2-sequencer-authoring-guide.py
python3 V2/ue/Tools/check-v2-sequencer-data-model.py
python3 V2/ue/Tools/check-v2-sequencer-timeline-playback.py
python3 V2/ue/Tools/check-v2-sequencer-actor-bindings.py
python3 V2/ue/Tools/check-v2-sequencer-camera-tracks.py
python3 V2/ue/Tools/check-v2-sequencer-animation-clip-tracks.py
python3 V2/ue/Tools/check-v2-sequencer-audio-tracks.py
python3 V2/ue/Tools/check-v2-sequencer-event-tracks.py
python3 V2/ue/Tools/check-v2-sequencer-property-tracks.py
python3 V2/ue/Tools/check-v2-sequencer-keyframe-interpolation.py
python3 V2/ue/Tools/check-v2-sequencer-sub-sequence-composition.py
python3 V2/ue/Tools/check-v2-sequencer-gameplay-blend.py
python3 V2/ue/Tools/check-v2-sequencer-serialization.py
python3 V2/ue/Tools/check-v2-sequencer-lod.py
python3 V2/ue/Tools/check-v2-sequencer-triggers.py
python3 V2/ue/Tools/check-v2-sequencer-networking.py
python3 V2/ue/Tools/check-v2-sequencer-timeline-editor.py
python3 V2/ue/Tools/check-v2-sequencer-track-management.py
python3 V2/ue/Tools/check-v2-sequencer-keyframe-editing.py
python3 V2/ue/Tools/check-v2-sequencer-curve-editor.py
python3 V2/ue/Tools/check-v2-sequencer-viewport-preview.py
python3 V2/ue/Tools/check-v2-sequencer-camera-preview-window.py
python3 V2/ue/Tools/check-v2-sequencer-undo-redo.py
python3 V2/ue/Tools/check-v2-sequencer-hotkeys.py
python3 V2/ue/Tools/check-v2-sequencer-recording-mode.py
python3 V2/ue/Tools/check-v2-sequencer-template-library.py
python3 V2/ue/Tools/check-v2-sequencer-render-video.py
python3 V2/ue/Tools/check-v2-sequencer-thumbnail-preview.py
python3 V2/ue/Tools/check-v2-sequencer-multi-user-editing.py
python3 V2/ue/Tools/check-v2-ci-workflow.py
python3 -m json.tool V2/ue/Content/V2/Editor/SequencerAuthoringGuide/SequencerAuthoringGuide_V2_Contract.json
python3 -m json.tool V2/ue/Build/Horde/v2-buildgraph-job.json
python3 V2/tools/validate-v2-docs.py
pnpm exec prettier --check V2/docs/cinematics/sequencer-authoring-guide.md V2/ue/Content/V2/Editor/SequencerAuthoringGuide/SequencerAuthoringGuide_V2_Contract.json V2/ue/Build/Horde/v2-buildgraph-job.json TODOS/phase-72.md