Sequencer.UseOldSequencerTrails
Sequencer.UseOldSequencerTrails
#Overview
name: Sequencer.UseOldSequencerTrails
This variable is created as a Console Variable (cvar).
- type:
Var
- help:
If true show old motion trails, if false use new editable motion trails.
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:
- Setting this variable to true will use the old motion trails system, while false will enable the new editable motion trails system.
- 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:
- 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.
- If switching between systems, ensure all team members are aware of the change and understand the differences between the old and new systems.
- Test thoroughly after changing this setting to ensure it doesn’t negatively impact existing workflows or sequences.
Regarding the associated variable CVarUseOldSequencerMotionTrails:
- Its purpose is identical to Sequencer.UseOldSequencerTrails, serving as the programmatic interface to the same functionality.
- It’s used in the same Sequencer module and SequencerAnimTools plugin.
- Its value is set through the TAutoConsoleVariable mechanism, which allows it to be changed via console commands.
- It directly controls the behavior of motion trail rendering in the Sequencer.
- Developers should be aware that changing this variable will immediately affect the Sequencer’s behavior.
- Best practices include using this variable consistently throughout the codebase when checking for the motion trail system preference, and considering performance implications when switching between systems.
#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
{