Task: TODOS.phase-72.72.15.1.15
The sequencer networking layer provides deterministic data contracts that synchronize cinematic playback across multiplayer clients. Authority state owns the session, sequence id, revision, playback status, direction, server frame, server time, playback rate, and loop flag. Each client reports its loaded sequence, local frame, last applied revision, and estimated latency.
Runtime API#
- Authority state:
FV2SequencerNetworkAuthorityState - Client state:
FV2SequencerNetworkClientState - Sync settings:
FV2SequencerNetworkSyncSettings - Evaluation:
FV2SequencerNetworkSyncEvaluation - Issue row:
FV2SequencerNetworkSyncIssue - Actions:
EV2SequencerNetworkSyncAction - Issues:
EV2SequencerNetworkSyncIssueType
BuildDefaultSequencerNetworkSyncSettings uses a three-frame soft drift
threshold, a twelve-frame snap threshold, and a 250 ms client prediction cap.
EvaluateSequencerNetworkSync predicts the authority frame from server frame
plus capped latency whenever the authority is playing. Paused, scrubbing,
completed, and stopped states do not advance during prediction.
Client Actions#
Fresh or unloaded clients receive StartSequence and jump to the predicted
authority frame. Loaded clients inside the soft drift window keep
MaintainPlayback; moderate drift uses BlendToFrame; large drift uses
SnapToFrame. Paused authority state maps to PauseSequence, while stopped or
completed authority state maps to StopSequence.
The default fixture uses NetSession.CouncilIntro,
Seq.DataModel.CouncilIntro, revision 3, server frame 60, and predicts
frame 63 for a 50 ms client.
Validation#
The evaluator rejects missing session ids, missing sequence ids, missing client ids, sequence mismatches, invalid revisions, invalid playback rates, negative server/client time, negative latency, invalid settings, and stale authority revisions. This keeps future replicated actors and RPCs from accepting a network packet that would desynchronize playback.
Verification#
python3 V2/ue/Tools/check-v2-sequencer-networking.pyV2.Cinematics.Sequencer.Networkingpython3 V2/ue/Tools/check-v2-cinematics-module.pypython3 V2/ue/Tools/check-v2-ci-workflow.py