Sequencer.TagSaturation
Sequencer.TagSaturation
#Overview
name: Sequencer.TagSaturation
This variable is created as a Console Variable (cvar).
- type:
Var
- help:
Specifies how saturated object binding tags should appear in the Sequencer UI.\n
It is referenced in 3
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of Sequencer.TagSaturation is to control the saturation level of object binding tags in the Sequencer UI of Unreal Engine 5. This setting variable is used in the visual representation of tags within the Sequencer, which is a part of the cinematics and animation system in Unreal Engine.
Based on the Callsites section, this setting variable is primarily used in the MovieSceneTools module, which is part of the Sequencer subsystem in Unreal Engine. Specifically, it’s used in the ObjectBindingTagCache functionality.
The value of this variable is set using an FAutoConsoleVariableRef, which means it can be adjusted at runtime through console commands. Its default value is 0.6f.
The associated variable GSequencerTagSaturation interacts directly with Sequencer.TagSaturation. They share the same value, with GSequencerTagSaturation being the actual float variable used in the code, while Sequencer.TagSaturation is the console variable name.
Developers should be aware that changing this variable will affect the visual appearance of object binding tags in the Sequencer UI. A higher value will result in more saturated colors, while a lower value will lead to less saturated, more muted colors.
Best practices when using this variable include:
- Adjust it to achieve the desired visual clarity in the Sequencer UI.
- Consider the overall color scheme of your project when setting this value.
- Use console commands to experiment with different values in real-time.
- Document any custom values used in your project for consistency across the development team.
Regarding the associated variable GSequencerTagSaturation:
The purpose of GSequencerTagSaturation is to store the actual float value used in the color calculations for object binding tags in the Sequencer UI.
It is used in the MovieSceneTools module, specifically in the FObjectBindingTagCache::ConditionalUpdate function.
The value of GSequencerTagSaturation is set initially to 0.6f and can be modified through the Sequencer.TagSaturation console variable.
GSequencerTagSaturation directly interacts with the HSVToLinearRGB color conversion, affecting the saturation component of the color.
Developers should be aware that modifying GSequencerTagSaturation directly in code is not recommended, as it may be overwritten by console commands. Instead, they should use the Sequencer.TagSaturation console variable to ensure consistent behavior.
Best practices for GSequencerTagSaturation include:
- Treat it as a read-only variable in most cases.
- If custom initialization is needed, set it early in the engine’s startup process.
- Use the console variable for runtime modifications rather than changing the variable directly.
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Editor/MovieSceneTools/Private/ObjectBindingTagCache.cpp:14
Scope: file
Source code excerpt:
float GSequencerTagSaturation = 0.6f;
FAutoConsoleVariableRef CVarSequencerTagSaturation(
TEXT("Sequencer.TagSaturation"),
GSequencerTagSaturation,
TEXT("Specifies how saturated object binding tags should appear in the Sequencer UI.\n"),
ECVF_Default
);
#Associated Variable and Callsites
This variable is associated with another variable named GSequencerTagSaturation
. They share the same value. See the following C++ source code.
#Loc: <Workspace>/Engine/Source/Editor/MovieSceneTools/Private/ObjectBindingTagCache.cpp:12
Scope: file
Source code excerpt:
#include "Templates/Tuple.h"
float GSequencerTagSaturation = 0.6f;
FAutoConsoleVariableRef CVarSequencerTagSaturation(
TEXT("Sequencer.TagSaturation"),
GSequencerTagSaturation,
TEXT("Specifies how saturated object binding tags should appear in the Sequencer UI.\n"),
ECVF_Default
);
void FObjectBindingTagCache::ConditionalUpdate(UMovieSceneSequence* RootSequence)
#Loc: <Workspace>/Engine/Source/Editor/MovieSceneTools/Private/ObjectBindingTagCache.cpp:66
Scope (from outer to inner):
file
function void FObjectBindingTagCache::ConditionalUpdate
Source code excerpt:
uint32 StringHash = GetTypeHash(Tag.ToString());
float Hue = (double(StringHash) / MAX_uint32) * 360.f;
FLinearColor ColorTintRGB = FLinearColor(Hue, GSequencerTagSaturation, .5f).HSVToLinearRGB();
ExposedNameColors.Add(Tag, ColorTintRGB);
}
for (FMovieSceneObjectBindingID ID : Pair.Value.IDs)
{