bHideActorComponents

bHideActorComponents

#Overview

name: bHideActorComponents

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 bHideActorComponents is to control the visibility of Actor Components in the Scene Outliner within the Unreal Engine editor. This setting variable is primarily used for managing the display of scene elements in the editor interface.

Based on the callsites, this variable is mainly utilized by the Scene Outliner module and the Object Mixer plugin. These are both part of Unreal Engine’s editor tools, focusing on scene management and object organization.

The value of this variable is typically set through the editor interface, specifically in the Scene Outliner settings. It can be toggled on and off, with the default value being true (hiding actor components).

This variable interacts with other related settings, such as bHideLevelInstanceHierarchy, which controls the visibility of Level Instances in the Scene Outliner.

Developers should be aware that changing this variable affects the visibility of Actor Components in the Scene Outliner, which can impact workflow and scene organization. When set to true, it simplifies the view by hiding potentially numerous components, but it may also hide important information that developers might need quick access to.

Best practices when using this variable include:

  1. Consider the project’s complexity and team preferences when deciding whether to hide or show Actor Components by default.
  2. Communicate any changes to this setting with the development team to ensure consistent workflows.
  3. Be aware that hiding components may impact the ability to quickly select or modify specific components in the Scene Outliner.
  4. Use this setting in conjunction with other Scene Outliner filters to create an efficient and clear view of the scene hierarchy.
  5. Regularly review and adjust this setting based on the current phase of development and the specific needs of the project.

#Setting Variables

#References In INI files

Location: <Workspace>/Engine/Config/BaseEditorPerProjectUserSettings.ini:125, 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/Public/Views/List/Modes/ObjectMixerOutlinerMode.h:83

Scope: file

Source code excerpt:

	/** True when the Scene Outliner is not displaying Actor Components*/
	UPROPERTY()
	bool bHideActorComponents = true;

	/** True when the Scene Outliner is not displaying LevelInstances */
	UPROPERTY()
	bool bHideLevelInstanceHierarchy = false;

	/** True when the Scene Outliner is not displaying unloaded actors */

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

Scope (from outer to inner):

file
function     FActorBrowsingMode::FActorBrowsingMode

Source code excerpt:

		}), FSceneOutlinerFilter::EDefaultBehaviour::Pass));

	bHideComponents = LocalSettings.bHideActorComponents;
	FSceneOutlinerFilterInfo HideComponentsInfo(LOCTEXT("ToggleHideActorComponents", "Hide Actor Components"), LOCTEXT("ToggleHideActorComponentsToolTip", "When enabled, hides components belonging to actors."), LocalSettings.bHideActorComponents, FCreateSceneOutlinerFilter::CreateStatic(&FActorBrowsingMode::CreateHideComponentsFilter));
	HideComponentsInfo.OnToggle().AddLambda([this](bool bIsActive)
		{
			FActorBrowsingModeConfig* Settings = GetMutableConfig();
			if(Settings)
			{
				Settings->bHideActorComponents = bHideComponents = bIsActive;
				SaveConfig();
			}
			if (auto ActorHierarchy = StaticCast<FActorHierarchy*>(Hierarchy.Get()))
			{
				ActorHierarchy->SetShowingComponents(!bIsActive);
			}

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

Scope: file

Source code excerpt:

	/** True when the Scene Outliner is not displaying Actor Components*/
	UPROPERTY()
	bool bHideActorComponents = true;

	/** True when the Scene Outliner is not displaying LevelInstances */
	UPROPERTY()
	bool bHideLevelInstanceHierarchy = false;

	/** True when the Scene Outliner is not displaying unloaded actors */