DisplayInternalClasses

DisplayInternalClasses

#Overview

name: DisplayInternalClasses

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

#Summary

#Usage in the C++ source code

The purpose of DisplayInternalClasses is to control the visibility of internal use classes within the Unreal Engine Class Viewer. This setting variable is primarily used in the Class Viewer system, which is part of the Unreal Engine Editor’s user interface.

The Unreal Engine subsystem that relies on this setting variable is the Class Viewer, which is part of the Editor module. Specifically, it’s used in the ClassViewer and UnrealEd modules.

The value of this variable is set in the project settings, typically through the Unreal Engine Editor interface. It can be found in the Class Viewer Project Settings under the path “/Script/ClassViewer.ClassViewerProjectSettings”.

This variable interacts with other filtering mechanisms in the Class Viewer. It’s used in conjunction with the InternalPaths array to determine which classes should be displayed or hidden.

Developers must be aware that changing this setting will affect the visibility of classes considered “internal” by the engine. When set to false, it hides classes that are typically not meant for direct use by game developers, which can help reduce clutter in the Class Viewer.

Best practices when using this variable include:

  1. Keep it set to false by default to maintain a cleaner Class Viewer interface.
  2. Only enable it when you need to access internal engine classes for advanced customization or debugging.
  3. Be cautious when using internal classes revealed by this setting, as they may not be intended for general use and could change in future engine versions.
  4. Consider the performance impact of displaying additional classes, especially in large projects.
  5. Use it in conjunction with other Class Viewer filters for more precise control over class visibility.

#Setting Variables

#References In INI files

Location: <Workspace>/Engine/Config/BaseEditorPerProjectUserSettings.ini:132, section: [/Script/UnrealEd.ClassViewerSettings]

#References in C++ code

#Callsites

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

#Loc: <Workspace>/Engine/Source/Editor/ClassViewer/Private/ClassViewerFilter.cpp:482

Scope (from outer to inner):

file
function     bool FClassViewerFilter::IsClassAllowed

Source code excerpt:

	// The INI files declare classes and folders that are considered internal only. Does this class match any of those patterns?
	// INI path: /Script/ClassViewer.ClassViewerProjectSettings
	if (!ClassViewerSettings->DisplayInternalClasses)
	{
		for (const FDirectoryPath& DirPath : InternalPaths)
		{
			if (GeneratedClassPathString.StartsWith(DirPath.Path))
			{
				return false;

#Loc: <Workspace>/Engine/Source/Editor/ClassViewer/Private/ClassViewerFilter.cpp:627

Scope (from outer to inner):

file
function     bool FClassViewerFilter::IsUnloadedClassAllowed

Source code excerpt:

	// The INI files declare classes and folders that are considered internal only. Does this class match any of those patterns?
	// INI path: /Script/ClassViewer.ClassViewerProjectSettings
	if (!ClassViewerSettings->DisplayInternalClasses)
	{
		for (const FDirectoryPath& DirPath : InternalPaths)
		{
			if (GeneratedClassPathString.StartsWith(DirPath.Path))
			{
				return false;

#Loc: <Workspace>/Engine/Source/Editor/ClassViewer/Private/SClassViewer.cpp:2728

Scope (from outer to inner):

file
function     void SClassViewer::ToggleShowInternalClasses

Source code excerpt:

{
	check(IsToggleShowInternalClassesAllowed());
	GetMutableDefault<UClassViewerSettings>()->DisplayInternalClasses = !GetDefault<UClassViewerSettings>()->DisplayInternalClasses;
	GetMutableDefault<UClassViewerSettings>()->PostEditChange();
}

bool SClassViewer::IsToggleShowInternalClassesAllowed() const
{
	return InitOptions.bAllowViewOptions;

#Loc: <Workspace>/Engine/Source/Editor/ClassViewer/Private/SClassViewer.cpp:2743

Scope (from outer to inner):

file
function     bool SClassViewer::IsShowingInternalClasses

Source code excerpt:

		return true;
	}
	return IsToggleShowInternalClassesAllowed() ? GetDefault<UClassViewerSettings>()->DisplayInternalClasses : false;
}

void SClassViewer::ToggleCustomFilterOption(TSharedRef<FClassViewerFilterOption> FilterOption)
{
	FilterOption->bEnabled = !FilterOption->bEnabled;

#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Classes/Settings/ClassViewerSettings.h:40

Scope (from outer to inner):

file
class        class UClassViewerSettings : public UObject

Source code excerpt:

	/** Whether to display internal use classes. */
	UPROPERTY(config)
	bool DisplayInternalClasses;


	/** The developer folder view modes used in SClassViewer */
	UPROPERTY(config)
	EClassViewerDeveloperType DeveloperFolderType;