bCleanPlaybackMode

bCleanPlaybackMode

#Overview

name: bCleanPlaybackMode

The value of this variable can be defined or overridden in .ini config files. 2 .ini config files referencing this setting variable.

It is referenced in 3 C++ source files.

#Summary

#Usage in the C++ source code

The purpose of bCleanPlaybackMode is to control the playback mode in the Sequencer, specifically to enable a “clean” playback experience in Unreal Engine’s cinematics and animation editing tool.

This setting variable is primarily used within the Sequencer module of Unreal Engine’s editor. It’s part of the USequencerSettings class, which manages various configuration options for the Sequencer tool.

The value of this variable is set in the constructor of USequencerSettings (SequencerSettings.cpp:55) with a default value of true. It can also be modified through the SetCleanPlaybackMode function, which updates the value and saves the configuration.

bCleanPlaybackMode interacts with other Sequencer settings, such as bActivateRealtimeViewports and bEvaluateSubSequencesInIsolation, which are part of the same settings class.

Developers should be aware that when this variable is set to true, the Sequencer will play back cinematics in a “clean” mode. This typically means that the game view will be used, and viewport UI elements will be hidden, providing a cleaner preview of the cinematic sequence.

Best practices when using this variable include:

  1. Consider the intended use of the sequence being edited. For final output or reviews, clean playback mode is often preferred.
  2. Be aware that changing this setting may affect how other team members view sequences, so communicate any changes to the team.
  3. Use the SetCleanPlaybackMode function to programmatically change this setting, as it ensures the configuration is saved.
  4. Remember that this setting affects the visual output in the editor, not the final rendered output of the sequence.

#Setting Variables

#References In INI files

Location: <Workspace>/Engine/Config/BaseEditorPerProjectUserSettings.ini:874, section: [TakeRecorderSequenceEditor SequencerSettings]

Location: <Workspace>/Engine/Config/BaseEditorPerProjectUserSettings.ini:890, section: [NiagaraSequenceEditor SequencerSettings]

#References in C++ code

#Callsites

This variable is referenced in the following C++ source code:

#Loc: <Workspace>/Engine/Source/Editor/Sequencer/Private/SequencerSettings.cpp:55

Scope (from outer to inner):

file
function     USequencerSettings::USequencerSettings

Source code excerpt:

	bDeleteKeysWhenTrimming = true;
	bDisableSectionsAfterBaking = true;
	bCleanPlaybackMode = true;
	bActivateRealtimeViewports = true;
	bEvaluateSubSequencesInIsolation = false;
	bRerunConstructionScripts = true;
	bVisualizePreAndPostRoll = true;
	TrajectoryPathCap = 250;
	FrameNumberDisplayFormat = EFrameNumberDisplayFormats::Seconds;

#Loc: <Workspace>/Engine/Source/Editor/Sequencer/Private/SequencerSettings.cpp:812

Scope (from outer to inner):

file
function     bool USequencerSettings::GetCleanPlaybackMode

Source code excerpt:

bool USequencerSettings::GetCleanPlaybackMode() const
{
	return bCleanPlaybackMode;
}

void USequencerSettings::SetCleanPlaybackMode(bool bInCleanPlaybackMode)
{
	if (bInCleanPlaybackMode != bCleanPlaybackMode)
	{
		bCleanPlaybackMode = bInCleanPlaybackMode;
		SaveConfig();
	}
}

bool USequencerSettings::ShouldActivateRealtimeViewports() const
{

#Loc: <Workspace>/Engine/Source/Editor/Sequencer/Public/SequencerSettings.h:676

Scope (from outer to inner):

file
class        class USequencerSettings : public UObject

Source code excerpt:

	/** When enabled, sequencer will playback in clean mode (game view, hide viewport UI) */
	UPROPERTY(config, EditAnywhere, Category = General)
	bool bCleanPlaybackMode;

	/** When enabled, sequencer will activate 'Realtime' in viewports */
	UPROPERTY(config, EditAnywhere, Category = General)
	bool bActivateRealtimeViewports;

	/** When enabled, entering a sub sequence will evaluate that sub sequence in isolation, rather than from the root sequence */