Concert.EnableOpenRemoteSequencer
Concert.EnableOpenRemoteSequencer
#Overview
name: Concert.EnableOpenRemoteSequencer
This variable is created as a Console Variable (cvar).
- type:
Var
- help:
Enable Concert remote Sequencer opening.
It is referenced in 4
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of Concert.EnableOpenRemoteSequencer is to enable or disable the feature of opening a Sequencer on a remote machine whenever a Sequencer is opened locally, provided both instances have this option enabled.
This setting variable is primarily used in the Concert plugin, specifically in the ConcertSyncClient module. It is part of the collaborative features provided by Unreal Engine’s Concert system, which allows for real-time collaboration between multiple users working on the same project.
The value of this variable is set through a console variable (CVar) system. It is initialized with a default value of 1 (enabled) in the source code, but can be changed at runtime through console commands or programmatically.
The associated variable CVarEnableRemoteSequencerOpen interacts directly with Concert.EnableOpenRemoteSequencer. It’s the C++ representation of the console variable and is used to access and modify the setting’s value within the code.
Developers should be aware that this feature requires both the local and remote instances to have this option enabled for it to work. It’s part of a set of Sequencer-related synchronization features, including remote closing (Concert.EnableCloseRemoteSequencer) and timeline synchronization (Concert.EnableUnrelatedTimelineSync).
Best practices when using this variable include:
- Ensuring all collaborating instances have consistent settings.
- Being mindful of performance implications when enabling remote Sequencer opening, especially in large projects or with many collaborators.
- Using the provided FConcertClientSequencerManager methods (IsSequencerRemoteOpenEnabled() and SetSequencerRemoteOpen()) to check and modify the setting, rather than accessing the CVar directly.
Regarding the associated variable CVarEnableRemoteSequencerOpen:
- Its purpose is to provide a programmatic interface to the Concert.EnableOpenRemoteSequencer setting.
- It’s used within the ConcertSyncClient module to control the remote Sequencer opening feature.
- Its value is set initially in the source code and can be modified at runtime.
- It interacts directly with the Concert.EnableOpenRemoteSequencer console variable.
- Developers should use the provided FConcertClientSequencerManager methods to interact with this variable rather than modifying it directly.
- Best practices include using type-safe methods for accessing and modifying the value, and considering thread safety when accessing the value in multi-threaded contexts.
#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:49
Scope: file
Source code excerpt:
// Enable opening Sequencer on remote machine whenever a Sequencer is opened, if both instances have this option on.
static TAutoConsoleVariable<int32> CVarEnableRemoteSequencerOpen(TEXT("Concert.EnableOpenRemoteSequencer"), 1, TEXT("Enable Concert remote Sequencer opening."));
// 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."));
#Associated Variable and Callsites
This variable is associated with another variable named CVarEnableRemoteSequencerOpen
. They share the same value. See the following C++ source code.
#Loc: <Workspace>/Engine/Plugins/Developer/Concert/ConcertSync/ConcertSyncClient/Source/ConcertSyncClient/Private/ConcertClientSequencerManager.cpp:49
Scope: file
Source code excerpt:
// Enable opening Sequencer on remote machine whenever a Sequencer is opened, if both instances have this option on.
static TAutoConsoleVariable<int32> CVarEnableRemoteSequencerOpen(TEXT("Concert.EnableOpenRemoteSequencer"), 1, TEXT("Enable Concert remote Sequencer opening."));
// 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."));
#Loc: <Workspace>/Engine/Plugins/Developer/Concert/ConcertSync/ConcertSyncClient/Source/ConcertSyncClient/Private/ConcertClientSequencerManager.cpp:344
Scope (from outer to inner):
file
function bool FConcertClientSequencerManager::IsSequencerRemoteOpenEnabled
Source code excerpt:
bool FConcertClientSequencerManager::IsSequencerRemoteOpenEnabled() const
{
return CVarEnableRemoteSequencerOpen.GetValueOnAnyThread() > 0;
}
bool FConcertClientSequencerManager::IsSequencerRemoteCloseEnabled() const
{
return CVarEnableRemoteSequencerClose.GetValueOnAnyThread() > 0;
}
#Loc: <Workspace>/Engine/Plugins/Developer/Concert/ConcertSync/ConcertSyncClient/Source/ConcertSyncClient/Private/ConcertClientSequencerManager.cpp:354
Scope (from outer to inner):
file
function void FConcertClientSequencerManager::SetSequencerRemoteOpen
Source code excerpt:
void FConcertClientSequencerManager::SetSequencerRemoteOpen(bool bEnable)
{
SetConsoleVariableRespectingPriority(CVarEnableRemoteSequencerOpen->AsVariable(), bEnable);
}
void FConcertClientSequencerManager::SetSequencerRemoteClose(bool bEnable)
{
SetConsoleVariableRespectingPriority(CVarEnableRemoteSequencerClose->AsVariable(), bEnable);
}