bKeepPlayRangeInSectionBounds

bKeepPlayRangeInSectionBounds

#Overview

name: bKeepPlayRangeInSectionBounds

The value of this variable can be defined or overridden in .ini config files. 6 .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 bKeepPlayRangeInSectionBounds is to control whether the playback range in the Sequencer should be constrained within the bounds of the currently selected section. This setting is part of the timeline management system in Unreal Engine’s Sequencer tool.

This setting variable is primarily used in the Sequencer module of Unreal Engine’s Editor subsystem. It’s specifically part of the USequencerSettings class, which manages various configuration options for the Sequencer.

The value of this variable is initially set to true in the USequencerSettings constructor. It can be modified through the Sequencer settings interface in the Unreal Editor, as it’s exposed as an editable property with the UPROPERTY macro.

The variable interacts with other Sequencer settings, particularly those related to timeline and playback management. It works in conjunction with the playback range and section bounds logic in the Sequencer.

Developers should be aware that changing this setting will affect how the Sequencer behaves when manipulating the playback range. When set to true, it prevents users from setting a playback range that extends beyond the current section’s boundaries.

Best practices for using this variable include:

  1. Consider the needs of your specific project when deciding whether to keep this enabled or disabled.
  2. If you’re working on a complex sequence with multiple sections, keeping this enabled can help prevent accidental playback of unintended parts of the sequence.
  3. Be aware that changing this setting might affect existing sequences in your project, so it’s advisable to communicate any changes to the entire development team.
  4. If you’re programmatically manipulating the Sequencer, use the provided getter (ShouldKeepPlayRangeInSectionBounds()) and setter (SetKeepPlayRangeInSectionBounds()) methods instead of directly accessing the variable.

#Setting Variables

#References In INI files

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

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

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

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

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

Location: <Workspace>/Engine/Config/BaseEditorPerProjectUserSettings.ini:905, section: [DaySequenceEditor 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:41

Scope (from outer to inner):

file
function     USequencerSettings::USequencerSettings

Source code excerpt:

	bResetPlayheadWhenNavigating = false;
	bKeepCursorInPlayRangeWhileScrubbing = false;
	bKeepPlayRangeInSectionBounds = true;
	bCompileDirectorOnEvaluate = true;
	bLeftMouseDragDoesMarquee = false;
	ZeroPadFrames = 0;
	JumpFrameIncrement = FFrameNumber(5);
	bShowLayerBars = true;
	bShowKeyBars = true;

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

Scope (from outer to inner):

file
function     bool USequencerSettings::ShouldKeepPlayRangeInSectionBounds

Source code excerpt:

bool USequencerSettings::ShouldKeepPlayRangeInSectionBounds() const
{
	return bKeepPlayRangeInSectionBounds;
}

void USequencerSettings::SetKeepPlayRangeInSectionBounds(bool bInKeepPlayRangeInSectionBounds)
{
	if (bKeepPlayRangeInSectionBounds != bInKeepPlayRangeInSectionBounds)
	{
		bKeepPlayRangeInSectionBounds = bInKeepPlayRangeInSectionBounds;
		SaveConfig();
	}
}


bool USequencerSettings::GetLinkCurveEditorTimeRange() const

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

Scope (from outer to inner):

file
class        class USequencerSettings : public UObject

Source code excerpt:

	/** Enable or disable keeping the playback range constrained to the section bounds. */
	UPROPERTY( config, EditAnywhere, Category=Timeline )
	bool bKeepPlayRangeInSectionBounds;

	/** The number of zeros to pad the frame numbers by. */
	UPROPERTY( config, EditAnywhere, Category=Timeline )
	uint8 ZeroPadFrames;

	/** The number of frames to jump by when jumping forward or backwards. */