DeveloperFolderType

DeveloperFolderType

#Overview

name: DeveloperFolderType

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

#Summary

#Usage in the C++ source code

The purpose of DeveloperFolderType is to control the visibility of developer folders in the Class Viewer and Struct Viewer within the Unreal Engine editor. It determines which types of developer content are displayed in these viewers.

This setting variable is primarily used by the Class Viewer and Struct Viewer subsystems in the Unreal Engine editor. It’s referenced in the ClassViewer and StructViewer modules, which are part of the editor’s user interface for browsing and selecting classes and structs.

The value of this variable is set in the UClassViewerSettings and UStructViewerSettings classes, which are configuration classes for the respective viewers. It can be modified through the editor’s settings interface or programmatically using the SetCurrentDeveloperViewType functions in SClassViewer and SStructViewer classes.

This variable interacts with other filtering mechanisms in the Class Viewer and Struct Viewer. It’s used in conjunction with path checks to determine if certain classes or structs should be displayed based on their location in the developer folders.

Developers should be aware that this setting affects the visibility of content in the Class Viewer and Struct Viewer. Changing this setting can impact which classes and structs are available for selection in various parts of the editor that use these viewers.

Best practices when using this variable include:

  1. Ensuring it’s set appropriately for the current development phase (e.g., showing all developer content during active development, but potentially hiding it for release builds or when working with non-developer team members).
  2. Being consistent in its usage across a project to maintain a uniform experience for all team members.
  3. Considering the implications of changing this setting on workflows that depend on the Class Viewer or Struct Viewer.
  4. Using it in conjunction with other filtering mechanisms to create a tailored view of available classes and structs for specific use cases or user roles.

#Setting Variables

#References In INI files

Location: <Workspace>/Engine/Config/BaseEditorPerProjectUserSettings.ini:134, 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:464

Scope (from outer to inner):

file
function     bool FClassViewerFilter::IsClassAllowed

Source code excerpt:

	const UClassViewerSettings* ClassViewerSettings = GetDefault<UClassViewerSettings>();

	EClassViewerDeveloperType AllowedDeveloperType = ClassViewerSettings->DeveloperFolderType;
	if (AllowedDeveloperType == EClassViewerDeveloperType::CVDT_None)
	{
		if (GeneratedClassPathString.StartsWith(DeveloperPathWithSlash))
		{
			return false;
		}

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

Scope (from outer to inner):

file
function     bool FClassViewerFilter::IsUnloadedClassAllowed

Source code excerpt:


	const UClassViewerSettings* ClassViewerSettings = GetDefault<UClassViewerSettings>();
	EClassViewerDeveloperType AllowedDeveloperType = ClassViewerSettings->DeveloperFolderType;
	if (AllowedDeveloperType == EClassViewerDeveloperType::CVDT_None)
	{
		if (GeneratedClassPathString.StartsWith(DeveloperPathWithSlash))
		{
			return false;
		}

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

Scope (from outer to inner):

file
function     void SClassViewer::SetCurrentDeveloperViewType

Source code excerpt:

void SClassViewer::SetCurrentDeveloperViewType(EClassViewerDeveloperType NewType)
{
	if (ensure((int)NewType < (int)EClassViewerDeveloperType::CVDT_Max) && NewType != GetDefault<UClassViewerSettings>()->DeveloperFolderType)
	{
		GetMutableDefault<UClassViewerSettings>()->DeveloperFolderType = NewType;
		GetMutableDefault<UClassViewerSettings>()->PostEditChange();
	}
}

EClassViewerDeveloperType SClassViewer::GetCurrentDeveloperViewType() const
{

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

Scope (from outer to inner):

file
function     EClassViewerDeveloperType SClassViewer::GetCurrentDeveloperViewType

Source code excerpt:

		return EClassViewerDeveloperType::CVDT_All;
	}
	return GetDefault<UClassViewerSettings>()->DeveloperFolderType;
}

bool SClassViewer::IsCurrentDeveloperViewType(EClassViewerDeveloperType ViewType) const
{
	return GetCurrentDeveloperViewType() == ViewType;
}

#Loc: <Workspace>/Engine/Source/Editor/StructViewer/Private/SStructViewer.cpp:1531

Scope (from outer to inner):

file
function     void SStructViewer::SetCurrentDeveloperViewType

Source code excerpt:

void SStructViewer::SetCurrentDeveloperViewType(EStructViewerDeveloperType NewType)
{
	if (ensure((int)NewType < (int)EStructViewerDeveloperType::SVDT_Max) && NewType != GetDefault<UStructViewerSettings>()->DeveloperFolderType)
	{
		GetMutableDefault<UStructViewerSettings>()->DeveloperFolderType = NewType;
		GetMutableDefault<UStructViewerSettings>()->PostEditChange();
	}
}

EStructViewerDeveloperType SStructViewer::GetCurrentDeveloperViewType() const
{

#Loc: <Workspace>/Engine/Source/Editor/StructViewer/Private/SStructViewer.cpp:1545

Scope (from outer to inner):

file
function     EStructViewerDeveloperType SStructViewer::GetCurrentDeveloperViewType

Source code excerpt:

	}

	return GetDefault<UStructViewerSettings>()->DeveloperFolderType;
}

bool SStructViewer::IsCurrentDeveloperViewType(EStructViewerDeveloperType ViewType) const
{
	return GetCurrentDeveloperViewType() == ViewType;
}

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

Scope (from outer to inner):

file
class        class UClassViewerSettings : public UObject

Source code excerpt:

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

public:
	
	/**
	 * Returns an event delegate that is executed when a setting has changed.
	 *

#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Classes/Settings/StructViewerSettings.h:33

Scope (from outer to inner):

file
class        class UStructViewerSettings : public UObject

Source code excerpt:

	/** The developer folder view modes used in SStructViewer */
	UPROPERTY(config)
	EStructViewerDeveloperType DeveloperFolderType;

public:
	/**
	 * Returns an event delegate that is executed when a setting has changed.
	 *
	 * @return The delegate.