Sequencer.UseOldSequencerTrails

Sequencer.UseOldSequencerTrails

#Overview

name: Sequencer.UseOldSequencerTrails

This variable is created as a Console Variable (cvar).

It is referenced in 6 C++ source files.

#Summary

#Usage in the C++ source code

The purpose of Sequencer.UseOldSequencerTrails is to control whether the Sequencer in Unreal Engine 5 uses the old motion trails system or the new editable motion trails system for sequencer objects.

This setting variable is primarily used in the Sequencer module and the SequencerAnimTools plugin. These subsystems rely on this variable to determine which motion trail system to use when visualizing object movements in the Sequencer.

The value of this variable is set as a console variable (CVar) with a default value of true. It can be changed at runtime through the console or programmatically.

The associated variable CVarUseOldSequencerMotionTrails interacts directly with Sequencer.UseOldSequencerTrails. They share the same value and are used interchangeably in the code.

Developers must be aware that:

  1. Setting this variable to true will use the old motion trails system, while false will enable the new editable motion trails system.
  2. This setting affects the visualization of object movements in the Sequencer, which can impact how animators and cinematographers work with the tool.

Best practices when using this variable include:

  1. Consider the needs of your project and team when deciding which system to use. The new editable motion trails may offer more flexibility but might require adjustment for teams accustomed to the old system.
  2. If switching between systems, ensure all team members are aware of the change and understand the differences between the old and new systems.
  3. Test thoroughly after changing this setting to ensure it doesn’t negatively impact existing workflows or sequences.

Regarding the associated variable CVarUseOldSequencerMotionTrails:

#References in C++ code

#Callsites

This variable is referenced in the following C++ source code:

#Loc: <Workspace>/Engine/Source/Editor/Sequencer/Private/SequencerEdMode.cpp:57

Scope: file

Source code excerpt:

//if true still use old motion trails for sequencer objects.
TAutoConsoleVariable<bool> CVarUseOldSequencerMotionTrails(
	TEXT("Sequencer.UseOldSequencerTrails"),
	true,
	TEXT("If true show old motion trails, if false use new editable motion trails."));


namespace UE
{

#Associated Variable and Callsites

This variable is associated with another variable named CVarUseOldSequencerMotionTrails. They share the same value. See the following C++ source code.

#Loc: <Workspace>/Engine/Plugins/Editor/SequencerAnimTools/Source/SequencerAnimTools/Private/Sequencer/SequencerTrailHierarchy.cpp:488

Scope (from outer to inner):

file
namespace    UE
namespace    SequencerAnimTools
function     void FSequencerTrailHierarchy::UpdateSequencerBindings

Source code excerpt:

				}
				//if using old trails don't add new ones.
				if (CVarUseOldSequencerMotionTrails->GetBool() == true)
				{
					continue;
				}

				USceneComponent* BoundComponent = Cast<USceneComponent>(BoundObject.Get());
				if (AActor* BoundActor = Cast<AActor>(BoundObject.Get()))

#Loc: <Workspace>/Engine/Plugins/Editor/SequencerAnimTools/Source/SequencerAnimTools/Private/Sequencer/SequencerTrailHierarchy.cpp:523

Scope (from outer to inner):

file
namespace    UE
namespace    SequencerAnimTools
function     void FSequencerTrailHierarchy::UpdateSequencerBindings

Source code excerpt:

					continue;
				}
				if (CVarUseOldSequencerMotionTrails->GetBool() == true)
				{
					continue;
				}

				USkeletalMeshComponent* BoundComponent = Cast<USkeletalMeshComponent>(BoundObject.Get());
				if (AActor* BoundActor = Cast<AActor>(BoundObject.Get()))

#Loc: <Workspace>/Engine/Source/Editor/Sequencer/Private/SequencerEdMode.cpp:56

Scope: file

Source code excerpt:


//if true still use old motion trails for sequencer objects.
TAutoConsoleVariable<bool> CVarUseOldSequencerMotionTrails(
	TEXT("Sequencer.UseOldSequencerTrails"),
	true,
	TEXT("If true show old motion trails, if false use new editable motion trails."));


namespace UE

#Loc: <Workspace>/Engine/Source/Editor/Sequencer/Private/SequencerEdMode.cpp:798

Scope (from outer to inner):

file
function     void FSequencerEdMode::DrawTracks3D

Source code excerpt:

	using namespace UE::Sequencer;

	if (CVarUseOldSequencerMotionTrails->GetBool() == false)
	{
		return;
	}
	for (TWeakPtr<FSequencer> WeakSequencer : Sequencers)
	{
		TSharedPtr<FSequencer> Sequencer = WeakSequencer.Pin();

#Loc: <Workspace>/Engine/Source/Editor/Sequencer/Public/Tools/MotionTrailOptions.h:6

Scope: file

Source code excerpt:


//if true still use old motion trails for sequencer objects.
extern SEQUENCER_API TAutoConsoleVariable<bool> CVarUseOldSequencerMotionTrails;


// TODO: option to make tick size proportional to distance from camera to get a sense of perspective and scale
UCLASS(config = EditorPerProjectUserSettings)
class SEQUENCER_API UMotionTrailToolOptions : public UObject
{