Description

If some sequencer events are added to LatentAction queue while calling SetPlaybackPostion using Play method, the events will not be digested.
So the LatentActions cause that ensure condition failed next tick.

Following workaround resolves this issue.

void UMovieSceneSequencePlayer::SetPlaybackPosition(FMovieSceneSequencePlaybackParams InPlaybackParams)
{
...
	TimeController->Reset(GetCurrentTime());

	RunLatentActions();  // workaround : flush latent actions

	if (HasAuthority())
	{
		RPC_ExplicitServerUpdateEvent(InPlaybackParams.UpdateMethod, NewPosition);
	}
}

Steps to Reproduce
  1. Open attached project on ue4.27 [Link Removed]
  2. Run PIE

 

Result:

A few seconds later, the following ensure is hit.

Error: Ensure condition failed: LatentActionManager.IsEmpty() [File:E:/dev/UnrealEngine-4.27.1/Engine/Source/Runtime/MovieScene/Private/MovieSceneSequenceTickManager.cpp] [Line: 72] 
Callstack

UMovieSceneSequenceTickManager::TickSequenceActors(float DeltaSeconds) Line 72
TBaseUObjectMethodDelegateInstance<0,UMovieSceneSequenceTickManager,void __cdecl(float),FDefaultDelegateUserPolicy>::ExecuteIfSafe(float <Params_0>) Line 611
TMulticastDelegate<void __cdecl(float),FDefaultDelegateUserPolicy>::Broadcast(float <Params_0>) Line 955
UWorld::Tick(ELevelTick TickType, float DeltaSeconds) Line 1434
UEditorEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 1733
UUnrealEdEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 426
FEngineLoop::Tick() Line 4922
EngineTick() Line 63
GuardedMain(const wchar_t * CmdLine) Line 181
LaunchWindowsStartup(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow, const wchar_t * CmdLine) Line 262
WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * pCmdLine, int nCmdShow) Line 320

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-134328 in the post.

0
Login to Vote

Fixed
ComponentUE - Anim - Sequencer
Affects Versions4.27.1
Target Fix5.0
Fix Commit17354009
Main Commit17354009
CreatedNov 9, 2021
ResolvedNov 9, 2021
UpdatedNov 10, 2021