Runtime toggling of sequencer camera takes

I’d like to be able to have different camera tracks for VR vs 2D. And I have support for toggling VR on and off while putting on/taking off the headset at any time, so I would also like to be able to switch between these tracks at runtime and not just when the sequence first starts playing.

Is there a way to do that? I read about having alternate takes for the same sequences here:

https://docs.unrealengine.com/en-US/Engine/Sequencer/Workflow/ToolUsage

But couldn’t find any way to swap between takes at runtime.

This isn’t possible without engine code modification at the moment. However, we are looking at exposing this in a future release.

I tried using the disable camera cuts node instead, which is supposed to be supported, but it has an issue. While camera cuts are disabled sequencer will set bGameCameraCutThisFrame = true every single frame, breaking TAA.

It seems to come from here:

	virtual void Execute(const FMovieSceneContext& Context, const FMovieSceneEvaluationOperand& Operand, FPersistentEvaluationData& PersistentData, IMovieScenePlayer& Player) override
	{
		if (!Player.CanUpdateCameraCut())
		{
			Player.UpdateCameraCut(nullptr, nullptr);
			return;
		}

In this part at the end of UpdateCameraCut, which happens even though bJumpCut is set to false (not sure if that is the bug, or if that is intended for the final camera restore to original view target):

if (PC->PlayerCameraManager)
{
    PC->PlayerCameraManager->bClientSimulatingViewTarget = (CameraActor != nullptr);
    PC->PlayerCameraManager->bGameCameraCutThisFrame = true;
}

if (OnCameraCut.IsBound())
{
    OnCameraCut.Broadcast(CameraComponent);
}

}

That appears to be a legitimate bug. Thanks for reporting. I’ve filed it as:

https://issues.unrealengine.com/issue/UE-65648