ControlRig.Sequencer.EnableAdditiveControlRigs
ControlRig.Sequencer.EnableAdditiveControlRigs
#Overview
name: ControlRig.Sequencer.EnableAdditiveControlRigs
This variable is created as a Console Variable (cvar).
- type:
Var
- help:
When true it is possible to add an additive control rig to a skeletal mesh component.
It is referenced in 4
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of ControlRig.Sequencer.EnableAdditiveControlRigs is to enable or disable the ability to add additive control rigs to skeletal mesh components within the Unreal Engine’s Sequencer system.
This setting variable is primarily used in the Control Rig plugin, specifically within the ControlRigEditor module. It affects the functionality related to control rig animation in the Sequencer.
The value of this variable is set as a console variable (CVar) with a default value of true. It can be modified at runtime through the console or configuration files.
The associated variable CVarEnableAdditiveControlRigs directly interacts with this setting. They share the same value and purpose.
Developers must be aware that this variable controls the availability of additive control rig features in the Sequencer. When set to true, it allows the addition of layered control rigs to skeletal mesh components, which can be useful for creating more complex animations.
Best practices when using this variable include:
- Consider the performance implications of enabling additive control rigs, especially in complex scenes.
- Use it in conjunction with other Control Rig features to create more sophisticated animation setups.
- Be aware that disabling this feature might affect existing projects that rely on additive control rigs.
Regarding the associated variable CVarEnableAdditiveControlRigs:
- It serves the same purpose as ControlRig.Sequencer.EnableAdditiveControlRigs.
- It is used in the ControlRigParameterTrackEditor to determine whether to show options for layered control rigs in the track menu and context menu.
- When true, it allows the addition of layered control rigs and the conversion of absolute rigs to layered rigs.
- Developers should consider this variable when working with control rig tracks in the Sequencer, as it affects the available options and functionality.
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Plugins/Animation/ControlRig/Source/ControlRigEditor/Private/Sequencer/ControlRigParameterTrackEditor.cpp:113
Scope: file
Source code excerpt:
TAutoConsoleVariable<bool> CVarSelectedSectionSetsSectionToKey(TEXT("ControlRig.Sequencer.SelectedSectionSetsSectionToKey"), true, TEXT("When true when we select a channel in a section, if it's the only section selected we set it as the Section To Key, by default false."));
TAutoConsoleVariable<bool> CVarEnableAdditiveControlRigs(TEXT("ControlRig.Sequencer.EnableAdditiveControlRigs"), true, TEXT("When true it is possible to add an additive control rig to a skeletal mesh component."));
static USkeletalMeshComponent* AcquireSkeletalMeshFromObject(UObject* BoundObject, TSharedPtr<ISequencer> SequencerPtr)
{
if (AActor* Actor = Cast<AActor>(BoundObject))
{
if (USkeletalMeshComponent* SkeletalMeshComponent = Cast<USkeletalMeshComponent>(Actor->GetRootComponent()))
#Associated Variable and Callsites
This variable is associated with another variable named CVarEnableAdditiveControlRigs
. They share the same value. See the following C++ source code.
#Loc: <Workspace>/Engine/Plugins/Animation/ControlRig/Source/ControlRigEditor/Private/Sequencer/ControlRigParameterTrackEditor.cpp:113
Scope: file
Source code excerpt:
TAutoConsoleVariable<bool> CVarSelectedSectionSetsSectionToKey(TEXT("ControlRig.Sequencer.SelectedSectionSetsSectionToKey"), true, TEXT("When true when we select a channel in a section, if it's the only section selected we set it as the Section To Key, by default false."));
TAutoConsoleVariable<bool> CVarEnableAdditiveControlRigs(TEXT("ControlRig.Sequencer.EnableAdditiveControlRigs"), true, TEXT("When true it is possible to add an additive control rig to a skeletal mesh component."));
static USkeletalMeshComponent* AcquireSkeletalMeshFromObject(UObject* BoundObject, TSharedPtr<ISequencer> SequencerPtr)
{
if (AActor* Actor = Cast<AActor>(BoundObject))
{
if (USkeletalMeshComponent* SkeletalMeshComponent = Cast<USkeletalMeshComponent>(Actor->GetRootComponent()))
#Loc: <Workspace>/Engine/Plugins/Animation/ControlRig/Source/ControlRigEditor/Private/Sequencer/ControlRigParameterTrackEditor.cpp:1314
Scope (from outer to inner):
file
function void FControlRigParameterTrackEditor::HandleAddTrackSubMenu
Source code excerpt:
void FControlRigParameterTrackEditor::HandleAddTrackSubMenu(FMenuBuilder& MenuBuilder, TArray<FGuid> ObjectBindings, UMovieSceneTrack* Track)
{
if (CVarEnableAdditiveControlRigs->GetBool())
{
MenuBuilder.AddMenuEntry(
LOCTEXT("IsLayeredControlRig", "Layered"),
LOCTEXT("IsLayeredControlRigTooltip", "When checked, a layered control rig will be added"),
FSlateIcon(),
FUIAction(
#Loc: <Workspace>/Engine/Plugins/Animation/ControlRig/Source/ControlRigEditor/Private/Sequencer/ControlRigParameterTrackEditor.cpp:4127
Scope (from outer to inner):
file
function void FControlRigParameterTrackEditor::BuildTrackContextMenu
Source code excerpt:
);
if (CVarEnableAdditiveControlRigs->GetBool())
{
MenuBuilder.AddMenuEntry(
LOCTEXT("ConvertIsLayeredControlRig", "Convert To Layered"),
LOCTEXT("ConvertIsLayeredControlRigToolTip", "Converts the Control Rig from an Absolute rig to a Layered rig"),
FSlateIcon(),
FUIAction(