Concert.EnableCloseRemoteSequencer

Concert.EnableCloseRemoteSequencer

#Overview

name: Concert.EnableCloseRemoteSequencer

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.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:

  1. Enabling it only when collaborative Sequencer work is required.
  2. Ensuring all team members are aware of its state to avoid unexpected Sequencer closures.
  3. Using it in conjunction with other Concert synchronization features for a consistent collaborative experience.

Regarding the associated variable CVarEnableRemoteSequencerClose:

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