If the player pauses the game, unpauses, then starts a LevelSequence, CurrentSequenceTimeSeconds starts negative for the time spent in pause (for the current world). I expect this should be accumulating PausedTime only during the Sequence.
Locally we have a potential fix by tracking the paused time that occurred while the time controller is started:
in FMovieSceneTimeController_ExternalClock::OnStartPlaying: PausedTimeStart = GetPausedTime();
in OnRequestCurrentTime: PausedTime = GetPausedTime() - PausedTimeStart;
Where GetPausedTime is the CVarSequencerAllowPausedClock block refactored as a function.
Create a LevelSequence with Audio clock source “MyLevelSequence”
Start PIE
Pause for a while then unpause
console: Log LogMovieScene VeryVerbose
console: Sequencer Play MyLevelSequence
observe:
the Sequence starts but holds for a while (or has other unexpected behavior on start)
Sequence Offset Seconds and Sequence Now are both negative and count up to 0: LogMovieScene: VeryVerbose: TimeController … Sequence Start Time: frame 0, subframe 0.000000, Sequence Offset Seconds: -12.734930, Sequence Now: frame -383, subframe 0.952089