bHideTemporaryActors

bHideTemporaryActors

#Overview

name: bHideTemporaryActors

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 6 C++ source files.

#Summary

#Usage in the C++ source code

The purpose of bHideTemporaryActors is to control the visibility of temporary or run-time actors in the Unreal Engine editor’s Scene Outliner. This setting variable is primarily used in the editor’s user interface to provide filtering options for developers when working with actors in a scene.

This setting variable is mainly utilized by the SceneOutliner module and the ObjectMixer plugin. These components are part of the Unreal Engine editor’s interface for managing and organizing actors in a scene.

The value of this variable is set in multiple places:

  1. In the ObjectMixer plugin, it’s set through a lambda function connected to a toggle UI element.
  2. In the SceneOutliner module, it’s set in the OnToggleHideTemporaryActors function.

This variable interacts with other variables and functions in the SceneOutliner and ObjectMixer systems, such as:

Developers should be aware that:

  1. Changing this variable will affect the visibility of temporary actors in the Scene Outliner.
  2. It’s part of a larger set of filtering options for the Scene Outliner.
  3. The setting is persisted between editor sessions through a SaveConfig() call.

Best practices when using this variable include:

  1. Use the provided UI toggles to change the value rather than modifying it directly in code.
  2. Consider the impact on other team members when changing this setting, as it affects the visibility of actors in the shared editor environment.
  3. Be aware that hiding temporary actors may impact debugging and testing processes, so use it judiciously.

#Setting Variables

#References In INI files

Location: <Workspace>/Engine/Config/BaseEditorPerProjectUserSettings.ini:119, section: [/Script/SceneOutliner.ActorBrowsingModeSettings]

#References in C++ code

#Callsites

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

#Loc: <Workspace>/Engine/Plugins/Editor/ObjectMixer/ObjectMixer/Source/ObjectMixer/Private/Views/List/Modes/ObjectMixerOutlinerMode.cpp:265

Scope (from outer to inner):

file
function     FObjectMixerOutlinerMode::FObjectMixerOutlinerMode

Source code excerpt:

		LOCTEXT("ToggleHideTemporaryActors", "Hide Temporary Actors"),
		LOCTEXT("ToggleHideTemporaryActorsToolTip", "When enabled, hides temporary/run-time Actors."),
		LocalSettings.bHideTemporaryActors,
		FCreateSceneOutlinerFilter::CreateStatic(&FObjectMixerOutlinerMode::CreateHideTemporaryActorsFilter)
	);
	HideTemporaryActorsInfo.OnToggle().AddLambda([this](bool bIsActive)
		{
			FObjectMixerOutlinerModeConfig* Settings = GetMutableConfig();
			if(Settings)
			{
				Settings->bHideTemporaryActors = bIsActive;
				SaveConfig();
			}
		});
	FilterInfoMap.Add(TEXT("HideTemporaryActors"), HideTemporaryActorsInfo);

	FSceneOutlinerFilterInfo OnlyCurrentLevelInfo(

#Loc: <Workspace>/Engine/Plugins/Editor/ObjectMixer/ObjectMixer/Source/ObjectMixer/Public/Views/List/Modes/ObjectMixerOutlinerMode.h:63

Scope: file

Source code excerpt:

	/** True when the Scene Outliner is hiding temporary/run-time Actors */
	UPROPERTY()
	bool bHideTemporaryActors = false;

	/** True when the Scene Outliner is showing only Actors that exist in the current level */
	UPROPERTY()
	bool bShowOnlyActorsInCurrentLevel = false;

	/** True when the Scene Outliner is showing only Actors that exist in the current data layers */

#Loc: <Workspace>/Engine/Source/Editor/SceneOutliner/Private/ActorBrowsingMode.cpp:104

Scope (from outer to inner):

file
function     FActorBrowsingMode::FActorBrowsingMode

Source code excerpt:


	bHideLevelInstanceHierarchy = LocalSettings.bHideLevelInstanceHierarchy;
	InSceneOutliner->SetShowTransient(!LocalSettings.bHideTemporaryActors);

	// Get the OutlinerModule to register FilterInfos with the FilterInfoMap
	FSceneOutlinerFilterInfo ShowOnlySelectedActorsInfo(LOCTEXT("ToggleShowOnlySelected", "Only Selected"), LOCTEXT("ToggleShowOnlySelectedToolTip", "When enabled, only displays actors that are currently selected."), LocalSettings.bShowOnlySelectedActors, FCreateSceneOutlinerFilter::CreateStatic(&FActorBrowsingMode::CreateShowOnlySelectedActorsFilter));
	ShowOnlySelectedActorsInfo.OnToggle().AddLambda([this](bool bIsActive)
		{
			FActorBrowsingModeConfig* Settings = GetMutableConfig();

#Loc: <Workspace>/Engine/Source/Editor/SceneOutliner/Private/ActorBrowsingMode.cpp:426

Scope (from outer to inner):

file
function     void FActorBrowsingMode::OnToggleHideTemporaryActors

Source code excerpt:

	if (Settings)
	{
		Settings->bHideTemporaryActors = !Settings->bHideTemporaryActors;
		SaveConfig();

		SceneOutliner->SetShowTransient(!Settings->bHideTemporaryActors);
		
		SceneOutliner->FullRefresh();
	}
}

bool FActorBrowsingMode::ShouldHideTemporaryActors() const

#Loc: <Workspace>/Engine/Source/Editor/SceneOutliner/Private/ActorBrowsingMode.cpp:440

Scope (from outer to inner):

file
function     bool FActorBrowsingMode::ShouldHideTemporaryActors

Source code excerpt:

	if (Settings)
	{
		return Settings->bHideTemporaryActors;
	}

	return false;
}

void FActorBrowsingMode::OnToggleHideLevelInstanceHierarchy()

#Loc: <Workspace>/Engine/Source/Editor/SceneOutliner/Private/ActorBrowsingModeSettings.h:31

Scope: file

Source code excerpt:

	/** True when the Scene Outliner is hiding temporary/run-time Actors */
	UPROPERTY()
	bool bHideTemporaryActors = false;

	/** True when the Scene Outliner is showing only Actors that exist in the current level */
	UPROPERTY()
	bool bShowOnlyActorsInCurrentLevel = false;

	/** True when the Scene Outliner is showing only Actors that exist in the current data layers */