LevelSequencePlayer Play() is not relative with IMovieSceneExecutionToken ?

Hey guys.
After reading source code about UMovieSceneSequencePlayer I found that if

MovieSceneSequence->GetFlags()

is not type

EMovieSceneSequenceFlags::BlockingEvaluation

it will run

FMovieSceneEntitySystemRunner& Runner = TickManager->GetRunner();
Runner.QueueUpdate(Context, RootTemplateInstance.GetRootInstanceHandle());

So it seems most time Play() will not run to IMovieSceneExecutionToken::Execute(). Right?


Hi.
I’m using FMOD and Unreal 4.27.
I hope my FMOD EventInstance will pause when sequence pause, so I writing code like this.


But I found that it seems like only UMovieSceneSequencePlayer::Pause() will run to here UMovieSceneSequencePlayer::PlayInternal() will not run to FFMODEventControlExecutionToken::Execute(const FMovieSceneContext &Context, const FMovieSceneEvaluationOperand &Operand, FPersistentEvaluationData &PersistentData, IMovieScenePlayer &Player).
Where will Play() run to?
Why Play() will not execute IMovieSceneExecutionToken::Exexute()?
In UMovieSceneSequencePlayer::Pause() I see RootTemplateInstance.Evaluate(Context, *this) in line 310, why Play() don’t write like this?