BP.EnableNamespaceFilteringFeatures

BP.EnableNamespaceFilteringFeatures

#Overview

name: BP.EnableNamespaceFilteringFeatures

This variable is created as a Console Variable (cvar).

It is referenced in 4 C++ source files.

#Summary

#Usage in the C++ source code

The purpose of BP.EnableNamespaceFilteringFeatures is to enable experimental namespace filtering features in the Blueprint editor within Unreal Engine 5.

This setting variable is primarily used by the Blueprint editor subsystem, specifically within the Kismet module. It’s part of the experimental namespace functionality for Blueprints.

The value of this variable is set through a console variable (CVar) system. It’s initialized as false by default, indicating that the feature is disabled out of the box.

BP.EnableNamespaceFilteringFeatures interacts closely with an associated variable named CVarBPEnableNamespaceFilteringFeatures. They share the same value and are used interchangeably in the code.

Developers must be aware that this is an experimental feature. Enabling it may affect the behavior of the Blueprint editor and potentially introduce instability or unexpected results. It should be used cautiously, especially in production environments.

Best practices when using this variable include:

  1. Only enable it in development or testing environments.
  2. Thoroughly test any Blueprints created or modified with this feature enabled before using them in production.
  3. Keep track of any issues or unexpected behaviors when the feature is enabled and report them to the Unreal Engine development team.

Regarding the associated variable CVarBPEnableNamespaceFilteringFeatures:

This is a console variable that directly controls the BP.EnableNamespaceFilteringFeatures setting. It’s defined using the TAutoConsoleVariable template, which allows it to be changed at runtime through console commands.

The value of CVarBPEnableNamespaceFilteringFeatures is synchronized with the BlueprintEditorSettings->bEnableNamespaceFilteringFeatures property. This synchronization occurs in the FBlueprintNamespaceHelper::RefreshEditorFeatureConsoleFlags() function, ensuring that changes in the editor settings are reflected in the console variable and vice versa.

Developers should note that changing this console variable will directly affect the namespace filtering feature in the Blueprint editor. It’s important to use the appropriate channels (either through console commands or editor settings) to modify this value, ensuring consistency across the engine.

#References in C++ code

#Callsites

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

#Loc: <Workspace>/Engine/Source/Editor/Kismet/Private/BlueprintNamespaceHelper.cpp:32

Scope: file

Source code excerpt:


static TAutoConsoleVariable<bool> CVarBPEnableNamespaceFilteringFeatures(
	TEXT("BP.EnableNamespaceFilteringFeatures"),
	false,
	TEXT("Enables namespace filtering features in the Blueprint editor (experimental).")
);

static TAutoConsoleVariable<bool> CVarBPEnableNamespaceImportingFeatures(
	TEXT("BP.EnableNamespaceImportingFeatures"),

#Associated Variable and Callsites

This variable is associated with another variable named CVarBPEnableNamespaceFilteringFeatures. They share the same value. See the following C++ source code.

#Loc: <Workspace>/Engine/Source/Editor/Kismet/Private/BlueprintNamespaceHelper.cpp:31

Scope: file

Source code excerpt:

// ---

static TAutoConsoleVariable<bool> CVarBPEnableNamespaceFilteringFeatures(
	TEXT("BP.EnableNamespaceFilteringFeatures"),
	false,
	TEXT("Enables namespace filtering features in the Blueprint editor (experimental).")
);

static TAutoConsoleVariable<bool> CVarBPEnableNamespaceImportingFeatures(

#Loc: <Workspace>/Engine/Source/Editor/Kismet/Private/BlueprintNamespaceHelper.cpp:259

Scope (from outer to inner):

file
function     void FBlueprintNamespaceHelper::RefreshEditorFeatureConsoleFlags

Source code excerpt:

		};

		InitCVarFlag(CVarBPEnableNamespaceFilteringFeatures.AsVariable(), BlueprintEditorSettings->bEnableNamespaceFilteringFeatures);
		InitCVarFlag(CVarBPEnableNamespaceImportingFeatures.AsVariable(), BlueprintEditorSettings->bEnableNamespaceImportingFeatures);
		InitCVarFlag(CVarBPImportParentClassNamespaces.AsVariable(), BlueprintEditorSettings->bInheritImportedNamespacesFromParentBP);

		bIsInitialized = true;
	}

#Loc: <Workspace>/Engine/Source/Editor/Kismet/Private/BlueprintNamespaceHelper.cpp:277

Scope (from outer to inner):

file
function     void FBlueprintNamespaceHelper::RefreshEditorFeatureConsoleFlags

Source code excerpt:

		};

		SetCVarFlag(CVarBPEnableNamespaceFilteringFeatures.AsVariable(), BlueprintEditorSettings->bEnableNamespaceFilteringFeatures);
		SetCVarFlag(CVarBPEnableNamespaceImportingFeatures.AsVariable(), BlueprintEditorSettings->bEnableNamespaceImportingFeatures);
		SetCVarFlag(CVarBPImportParentClassNamespaces.AsVariable(), BlueprintEditorSettings->bInheritImportedNamespacesFromParentBP);
	}
}

#undef LOCTEXT_NAMESPACE