bCompileDirectorOnEvaluate

bCompileDirectorOnEvaluate

#Overview

name: bCompileDirectorOnEvaluate

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

It is referenced in 3 C++ source files.

#Summary

#Usage in the C++ source code

The purpose of bCompileDirectorOnEvaluate is to control whether the director blueprint should be recompiled when a sequence is evaluated in Unreal Engine’s Sequencer system.

This setting variable is primarily used in the Sequencer module of Unreal Engine. The Sequencer is a powerful tool for creating and editing cinematic sequences and gameplay elements in Unreal Engine.

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

This variable interacts with the Sequencer’s evaluation process. When set to true, it ensures that any changes made to the director blueprint are compiled and reflected in the sequence evaluation.

Developers must be aware that enabling this option (setting it to true) may impact performance, especially for complex sequences or frequent evaluations, as it triggers a recompilation of the director blueprint each time the sequence is evaluated.

Best practices when using this variable include:

  1. Keep it enabled (true) during development to ensure the latest changes in the director blueprint are always reflected.
  2. Consider disabling it (false) for performance-critical scenarios or final builds if the director blueprint is not expected to change.
  3. Use the SetCompileDirectorOnEvaluate function to change the value at runtime if needed, as it handles the configuration saving.
  4. Be mindful of the performance implications when enabled, especially for complex sequences or frequent evaluations.

#Setting Variables

#References In INI files

Location: <Workspace>/Engine/Config/BaseEditorPerProjectUserSettings.ini:882, section: [EmbeddedActorSequenceEditor 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:42

Scope (from outer to inner):

file
function     USequencerSettings::USequencerSettings

Source code excerpt:

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

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

Scope (from outer to inner):

file
function     bool USequencerSettings::ShouldCompileDirectorOnEvaluate

Source code excerpt:

bool USequencerSettings::ShouldCompileDirectorOnEvaluate() const
{
	return bCompileDirectorOnEvaluate;
}

void USequencerSettings::SetCompileDirectorOnEvaluate(bool bInCompileDirectorOnEvaluate)
{
	if (bInCompileDirectorOnEvaluate != bCompileDirectorOnEvaluate)
	{
		bCompileDirectorOnEvaluate = bInCompileDirectorOnEvaluate;
		SaveConfig();
	}
}

USequencerSettings::FOnLoopStateChanged& USequencerSettings::GetOnLoopStateChanged()
{

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

Scope (from outer to inner):

file
class        class USequencerSettings : public UObject

Source code excerpt:

	/** Whether to recompile the director blueprint when the sequence is evaluated (if one exists) */
	UPROPERTY(config, EditAnywhere, Category=General)
	bool bCompileDirectorOnEvaluate;

	/** Specifies the maximum number of keys to draw when rendering trajectories in viewports */
	UPROPERTY(config, EditAnywhere, Category = General)
	uint32 TrajectoryPathCap;

	/** What format do we display time in to the user? */