bShowWidgetsFromDeveloperContent

bShowWidgetsFromDeveloperContent

#Overview

name: bShowWidgetsFromDeveloperContent

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 bShowWidgetsFromDeveloperContent is to control the visibility of widgets from developer content in the Unreal Engine 5 UMG (Unreal Motion Graphics) editor. This setting variable is primarily used in the UMG editor subsystem, which is part of the Unreal Engine’s UI development toolkit.

This variable is used in the UMG Editor module, specifically within the project settings for widget editing. It affects the filtering of widget classes available in the UMG editor’s palette and library windows.

The value of this variable is set in the UMGEditorProjectSettings constructor, where it is initialized to true by default. Users can modify this value through the project settings interface in the Unreal Editor.

bShowWidgetsFromDeveloperContent interacts with other class filtering properties in the UWidgetEditingProjectSettings class, such as CategoriesToHide and WidgetClassesToHide. These properties work together to determine which widget classes are displayed in the UMG editor.

Developers must be aware that this variable directly impacts the visibility of widgets located in the “/Game/Developers” directory. When set to false, it prevents these widgets from being displayed or used in the UMG editor.

Best practices when using this variable include:

  1. Consider leaving it enabled (true) during development to access all available widgets, including those in developer content.
  2. Disable it (set to false) before shipping the project to ensure that developer-specific widgets are not accidentally included in the final product.
  3. Use this setting in conjunction with other filtering options (CategoriesToHide and WidgetClassesToHide) for fine-grained control over widget visibility in the UMG editor.
  4. Document any changes to this setting in the project’s development guidelines to ensure all team members are aware of its current state and implications.

#Setting Variables

#References In INI files

Location: <Workspace>/Engine/Config/BaseEditor.ini:657, section: [/Script/Blutility.EditorUtilityWidgetProjectSettings]

Location: <Workspace>/Projects/Lyra/Config/DefaultEditor.ini:28, section: [/Script/UMGEditor.UMGEditorProjectSettings]

#References in C++ code

#Callsites

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

#Loc: <Workspace>/Engine/Source/Editor/UMGEditor/Private/Settings/UMGEditorProjectSettings.cpp:17

Scope (from outer to inner):

file
function     UUMGEditorProjectSettings::UUMGEditorProjectSettings

Source code excerpt:

	CurrentVersion = 1;
	bShowWidgetsFromEngineContent = false;
	bShowWidgetsFromDeveloperContent = true;

	bEnableMakeVariable = true;
	bEnableWidgetAnimationEditor = true;
	bEnablePaletteWindow = true;
	bEnableLibraryWindow = true;
	bEnableHierarchyWindow = true;

#Loc: <Workspace>/Engine/Source/Editor/UMGEditor/Private/WidgetBlueprintEditorUtils.cpp:2265

Scope (from outer to inner):

file
namespace    UE::UMG::Private
function     bool IsUsableWidgetClass

Source code excerpt:


	// Excludes developer content if user sets it to false
	if (!UMGEditorProjectSettings->bShowWidgetsFromDeveloperContent)
	{
		if (WidgetPathName.StartsWith(TEXT("/Game/Developers")))
		{
			return false;
		}
	}

#Loc: <Workspace>/Engine/Source/Editor/UMGEditor/Public/WidgetEditingProjectSettings.h:143

Scope (from outer to inner):

file
class        class UWidgetEditingProjectSettings : public UDeveloperSettings

Source code excerpt:


	UPROPERTY(EditAnywhere, config, Category="Class Filtering")
	bool bShowWidgetsFromDeveloperContent;

	UPROPERTY(EditAnywhere, config, AdvancedDisplay, Category="Class Filtering")
	TArray<FString> CategoriesToHide;

	UPROPERTY(EditAnywhere, config, Category = "Class Filtering", meta = (MetaClass = "/Script/UMG.Widget"))
	TArray<FSoftClassPath> WidgetClassesToHide;