Concert.EnableOpenRemoteSequencer

Concert.EnableOpenRemoteSequencer

#Overview

name: Concert.EnableOpenRemoteSequencer

This variable is created as a Console Variable (cvar).

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:

  1. Ensuring all collaborating instances have consistent settings.
  2. Being mindful of performance implications when enabling remote Sequencer opening, especially in large projects or with many collaborators.
  3. 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:

#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);
}