Concert.EnableSequencerPlaybackSync
Concert.EnableSequencerPlaybackSync
#Overview
name: Concert.EnableSequencerPlaybackSync
This variable is created as a Console Variable (cvar).
- type:
Var
- help:
Enable Concert Sequencer Playback Syncing of opened Sequencer.
It is referenced in 3
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of Concert.EnableSequencerPlaybackSync is to enable or disable the Concert Sequencer Playback Syncing feature for opened Sequencers in Unreal Engine 5.
This setting variable is primarily used by the Concert Sync Client module, which is part of the Concert plugin system in Unreal Engine 5. The Concert plugin is designed for real-time collaboration and synchronization features in the engine.
The value of this variable is set as a console variable (CVar) with a default value of 1 (enabled). It can be changed at runtime through console commands or programmatically.
The associated variable CVarEnablePlaybackSync interacts directly with Concert.EnableSequencerPlaybackSync. They share the same value and purpose.
Developers should be aware that this variable affects the synchronization of Sequencer playback across different clients in a Concert session. When enabled, it allows for synchronized playback of sequences across multiple instances of the engine, which is crucial for collaborative work on cinematics or gameplay sequences.
Best practices when using this variable include:
- Ensure it’s enabled when working in a collaborative environment where Sequencer sync is required.
- Be aware that disabling this might lead to desynchronization of Sequencer playback across different clients.
- Use the SetSequencerPlaybackSync function to programmatically control this feature when needed.
- Consider performance implications in large-scale projects or with complex sequences, as synchronization might introduce some overhead.
Regarding the associated variable CVarEnablePlaybackSync:
This is the actual C++ variable that controls the Sequencer playback sync feature. It’s implemented as a TAutoConsoleVariable, which allows it to be easily controlled via console commands.
The variable is used in the FConcertClientSequencerManager class to determine if Sequencer playback sync is enabled. The IsSequencerPlaybackSyncEnabled function checks this variable’s value to return the current state of the sync feature.
Developers can use the SetSequencerPlaybackSync function to programmatically enable or disable the feature, which internally sets the value of CVarEnablePlaybackSync.
When working with CVarEnablePlaybackSync, developers should:
- Use the provided FConcertClientSequencerManager functions to check or modify its state, rather than accessing it directly.
- Be aware that changes to this variable will immediately affect the behavior of the Sequencer playback sync feature.
- Consider adding appropriate checks in their code if their functionality depends on whether Sequencer playback sync is enabled or not.
#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:41
Scope: file
Source code excerpt:
// Enable Sequence Playback Syncing
static TAutoConsoleVariable<int32> CVarEnablePlaybackSync(TEXT("Concert.EnableSequencerPlaybackSync"), 1, TEXT("Enable Concert Sequencer Playback Syncing of opened Sequencer."));
// Enable Sequence Playing on game client
static TAutoConsoleVariable<int32> CVarEnableSequencePlayer(TEXT("Concert.EnableSequencePlayer"), 1, TEXT("Enable Concert Sequence Players on `-game` client."));
static TAutoConsoleVariable<int32> CVarEnableLoopingOnPlayer(TEXT("Concert.EnableLoopingOnPlayer"), 1, TEXT("Enable Looping Sequence Players when sequencer looping is enabled."));
#Associated Variable and Callsites
This variable is associated with another variable named CVarEnablePlaybackSync
. They share the same value. See the following C++ source code.
#Loc: <Workspace>/Engine/Plugins/Developer/Concert/ConcertSync/ConcertSyncClient/Source/ConcertSyncClient/Private/ConcertClientSequencerManager.cpp:41
Scope: file
Source code excerpt:
// Enable Sequence Playback Syncing
static TAutoConsoleVariable<int32> CVarEnablePlaybackSync(TEXT("Concert.EnableSequencerPlaybackSync"), 1, TEXT("Enable Concert Sequencer Playback Syncing of opened Sequencer."));
// Enable Sequence Playing on game client
static TAutoConsoleVariable<int32> CVarEnableSequencePlayer(TEXT("Concert.EnableSequencePlayer"), 1, TEXT("Enable Concert Sequence Players on `-game` client."));
static TAutoConsoleVariable<int32> CVarEnableLoopingOnPlayer(TEXT("Concert.EnableLoopingOnPlayer"), 1, TEXT("Enable Looping Sequence Players when sequencer looping is enabled."));
#Loc: <Workspace>/Engine/Plugins/Developer/Concert/ConcertSync/ConcertSyncClient/Source/ConcertSyncClient/Private/ConcertClientSequencerManager.cpp:324
Scope (from outer to inner):
file
function bool FConcertClientSequencerManager::IsSequencerPlaybackSyncEnabled
Source code excerpt:
bool FConcertClientSequencerManager::IsSequencerPlaybackSyncEnabled() const
{
return CVarEnablePlaybackSync.GetValueOnAnyThread() > 0;
}
void FConcertClientSequencerManager::SetSequencerPlaybackSync(bool bEnable)
{
SetConsoleVariableRespectingPriority(CVarEnablePlaybackSync->AsVariable(), bEnable);
}
bool FConcertClientSequencerManager::IsUnrelatedSequencerTimelineSyncEnabled() const
{
return CVarEnableUnrelatedTimelineSync.GetValueOnAnyThread() > 0;
}