Concert.EnableCloseRemoteSequencer
Concert.EnableCloseRemoteSequencer
#Overview
name: Concert.EnableCloseRemoteSequencer
This variable is created as a Console Variable (cvar).
- type:
Var
- help:
Enable Concert remote Sequencer closing.
It is referenced in 4
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of Concert.EnableCloseRemoteSequencer is to enable or disable the feature of closing a Sequencer instance on a user’s machine when a remote user closes the same sequence. This setting is part of the Concert system, which is a collaboration framework for Unreal Engine.
This setting variable is primarily used within the Concert Sync Client module, specifically in the ConcertClientSequencerManager. It’s part of the Concert plugin, which is designed for real-time collaboration in Unreal Engine projects.
The value of this variable is set as a console variable with an initial value of 0 (disabled by default). It can be changed at runtime through console commands or programmatically.
The associated variable CVarEnableRemoteSequencerClose directly interacts with Concert.EnableCloseRemoteSequencer. It’s a TAutoConsoleVariable that holds the actual value of the setting.
Developers must be aware that this variable affects the behavior of the Sequencer tool in a multi-user environment. When enabled, it allows for synchronized closing of Sequencer instances across different users’ machines.
Best practices when using this variable include:
- Enabling it only when collaborative Sequencer work is required.
- Ensuring all team members are aware of its state to avoid unexpected Sequencer closures.
- Using it in conjunction with other Concert synchronization features for a consistent collaborative experience.
Regarding the associated variable CVarEnableRemoteSequencerClose:
- It’s the actual console variable that stores the value of Concert.EnableCloseRemoteSequencer.
- It’s used in the IsSequencerRemoteCloseEnabled() method to check if the feature is enabled.
- The SetSequencerRemoteClose() method allows for programmatically changing its value.
- When working with this variable, developers should use the provided methods (IsSequencerRemoteCloseEnabled and SetSequencerRemoteClose) rather than accessing the console variable directly, to ensure proper encapsulation and potential future-proofing.
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Plugins/Developer/Concert/ConcertSync/ConcertSyncClient/Source/ConcertSyncClient/Private/ConcertClientSequencerManager.cpp:52
Scope: file
Source code excerpt:
// Enable closing Sequencer for this user when a remote user closes the sequence.
static TAutoConsoleVariable<int32> CVarEnableRemoteSequencerClose(TEXT("Concert.EnableCloseRemoteSequencer"), 0, TEXT("Enable Concert remote Sequencer closing."));
// Enable synchronizing the timeline of unrelated Sequencers on remote machine whenever a Sequencer state event is received, if both instances have this option on.
static TAutoConsoleVariable<int32> CVarEnableUnrelatedTimelineSync(TEXT("Concert.EnableUnrelatedTimelineSync"), 0, TEXT("Enable syncing unrelated sequencer timeline."));
// Enable always closing player on remote machine whenever a sequencer is closed on an editor.
static TAutoConsoleVariable<int32> CVarAlwaysCloseGamePlayerOnCloseEvent(
#Associated Variable and Callsites
This variable is associated with another variable named CVarEnableRemoteSequencerClose
. They share the same value. See the following C++ source code.
#Loc: <Workspace>/Engine/Plugins/Developer/Concert/ConcertSync/ConcertSyncClient/Source/ConcertSyncClient/Private/ConcertClientSequencerManager.cpp:52
Scope: file
Source code excerpt:
// Enable closing Sequencer for this user when a remote user closes the sequence.
static TAutoConsoleVariable<int32> CVarEnableRemoteSequencerClose(TEXT("Concert.EnableCloseRemoteSequencer"), 0, TEXT("Enable Concert remote Sequencer closing."));
// Enable synchronizing the timeline of unrelated Sequencers on remote machine whenever a Sequencer state event is received, if both instances have this option on.
static TAutoConsoleVariable<int32> CVarEnableUnrelatedTimelineSync(TEXT("Concert.EnableUnrelatedTimelineSync"), 0, TEXT("Enable syncing unrelated sequencer timeline."));
// Enable always closing player on remote machine whenever a sequencer is closed on an editor.
static TAutoConsoleVariable<int32> CVarAlwaysCloseGamePlayerOnCloseEvent(
#Loc: <Workspace>/Engine/Plugins/Developer/Concert/ConcertSync/ConcertSyncClient/Source/ConcertSyncClient/Private/ConcertClientSequencerManager.cpp:349
Scope (from outer to inner):
file
function bool FConcertClientSequencerManager::IsSequencerRemoteCloseEnabled
Source code excerpt:
bool FConcertClientSequencerManager::IsSequencerRemoteCloseEnabled() const
{
return CVarEnableRemoteSequencerClose.GetValueOnAnyThread() > 0;
}
void FConcertClientSequencerManager::SetSequencerRemoteOpen(bool bEnable)
{
SetConsoleVariableRespectingPriority(CVarEnableRemoteSequencerOpen->AsVariable(), bEnable);
}
#Loc: <Workspace>/Engine/Plugins/Developer/Concert/ConcertSync/ConcertSyncClient/Source/ConcertSyncClient/Private/ConcertClientSequencerManager.cpp:359
Scope (from outer to inner):
file
function void FConcertClientSequencerManager::SetSequencerRemoteClose
Source code excerpt:
void FConcertClientSequencerManager::SetSequencerRemoteClose(bool bEnable)
{
SetConsoleVariableRespectingPriority(CVarEnableRemoteSequencerClose->AsVariable(), bEnable);
}
bool FConcertClientSequencerManager::ShouldAlwaysCloseGameSequencerPlayer() const
{
return CVarAlwaysCloseGamePlayerOnCloseEvent.GetValueOnAnyThread() > 0;
}