How do I stop return to player camera after a level sequence?

Hi, I also found a solution for this problem in case someone is still struggling with it.

First of all I want to describe what happens:

After the Level Sequence is finished, the
UpdateCameraCut(UObject* CameraObject, const EMovieSceneCameraCutParams& CameraCutParams) function of the ULevelSequencePlayer is called with a nullptr for the CameraObject parameter.

If the CameraObject equals nullptr, the function tries to find the last used camera before the Sequence was played, which is normally the player character. That is why the camera jumps back automatically after finishing the sequence.

Now the solution is creating a new class based on LevelSequencePlayer and function as follows:

void UMySequencePlayer::UpdateCameraCut(UObject* CameraObject, const EMovieSceneCameraCutParams& CameraCutParams)
{
	if (!CameraObject)
	{
		return;
	}
	Super::UpdateCameraCut(CameraObject, CameraCutParams);
}

We then can use our newly created class as follows:

SequencePlayer = NewObject<UMySequencePlayer>(this);
SequencePlayer->Initialize(SequenceAsset, GetLevel(), FLevelSequenceCameraSettings());
if (SequencePlayer)
{
	SequencePlayer->Play();
}

this way there is now cut back to the player.

I hope it helps someone.

Cheers.

1 Like