bEnableDeveloperMenuTools

bEnableDeveloperMenuTools

#Overview

name: bEnableDeveloperMenuTools

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

#Summary

#Usage in the C++ source code

The purpose of bEnableDeveloperMenuTools is to control the visibility of developer menu tool commands in the Blueprint Editor’s menu bar. Specifically, it determines whether these commands should be shown in the ‘Developer’ section.

This setting variable is primarily used by the Blueprint search system, which is part of the Kismet module in Unreal Engine. The Kismet module is responsible for the Blueprint visual scripting system and related editor functionality.

The value of this variable is set in the constructor of the FFindInBlueprintSearchManager class, where it is initialized to false. However, its value can be overridden by a configuration setting in the GEditorIni file. This is done in the Initialize() function of the FFindInBlueprintSearchManager class, where it reads the value from the “BlueprintSearchSettings” section of the config file.

While there are no direct interactions with other variables shown in the provided code snippets, it’s part of a group of configuration settings that control various aspects of the Blueprint search functionality.

Developers should be aware that this variable affects the user interface of the Blueprint Editor. Enabling it will expose additional developer tools, which may not be suitable for all users or project stages.

Best practices for using this variable include:

  1. Only enable it when advanced debugging or development features are needed in the Blueprint Editor.
  2. Consider disabling it for production builds or when distributing the editor to non-developer team members.
  3. Use the configuration file (GEditorIni) to set this value, rather than hardcoding it, to allow for easier adjustments across different environments or builds.
  4. Document the use of this setting clearly for your development team, especially if it’s enabled, so that others are aware of the additional tools available.

#Setting Variables

#References In INI files

Location: <Workspace>/Engine/Config/BaseEditor.ini:541, section: [BlueprintSearchSettings]

#References in C++ code

#Callsites

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

#Loc: <Workspace>/Engine/Source/Editor/Kismet/Private/FindInBlueprintManager.cpp:2042

Scope (from outer to inner):

file
function     FFindInBlueprintSearchManager::FFindInBlueprintSearchManager

Source code excerpt:

	, bDisableDeferredIndexing(false)
	, bEnableCSVStatsProfiling(false)
	, bEnableDeveloperMenuTools(false)
	, bDisableSearchResultTemplates(false)
	, bDisableImmediateAssetDiscovery(false)
{
	for (int32 TabIdx = 0; TabIdx < UE_ARRAY_COUNT(GlobalFindResultsTabIDs); TabIdx++)
	{
		const FName TabID = FName(*FString::Printf(TEXT("GlobalFindResults_%02d"), TabIdx + 1));

#Loc: <Workspace>/Engine/Source/Editor/Kismet/Private/FindInBlueprintManager.cpp:2083

Scope (from outer to inner):

file
function     void FFindInBlueprintSearchManager::Initialize

Source code excerpt:

	GConfig->GetBool(TEXT("BlueprintSearchSettings"), TEXT("bDisableThreadedIndexing"), bDisableThreadedIndexing, GEditorIni);
	GConfig->GetBool(TEXT("BlueprintSearchSettings"), TEXT("bEnableCsvStatsProfiling"), bEnableCSVStatsProfiling, GEditorIni);
	GConfig->GetBool(TEXT("BlueprintSearchSettings"), TEXT("bEnableDeveloperMenuTools"), bEnableDeveloperMenuTools, GEditorIni);
	GConfig->GetBool(TEXT("BlueprintSearchSettings"), TEXT("bDisableSearchResultTemplates"), bDisableSearchResultTemplates, GEditorIni);
	GConfig->GetBool(TEXT("BlueprintSearchSettings"), TEXT("bDisableImmediateAssetDiscovery"), bDisableImmediateAssetDiscovery, GEditorIni);

#if CSV_PROFILER
	// If profiling has been enabled, turn on the stat category and begin a capture.
	if (bEnableCSVStatsProfiling)

#Loc: <Workspace>/Engine/Source/Editor/Kismet/Public/FindInBlueprintManager.h:682

Scope (from outer to inner):

file
class        class FFindInBlueprintSearchManager : public FTickableEditorObject
function     bool ShouldEnableDeveloperMenuTools

Source code excerpt:


	/** If TRUE, the developer menu tool commands will be shown in the 'Developer' section of the Blueprint Editor's menu bar */
	bool ShouldEnableDeveloperMenuTools() const { return bEnableDeveloperMenuTools; }

	/** If TRUE, search result meta will be gathered once and stored in a template. Avoids doing this work redundantly at search time. */
	bool ShouldEnableSearchResultTemplates() const { return !bDisableSearchResultTemplates; }

	/** Find or create the global find results widget */
	TSharedPtr<SFindInBlueprints> GetGlobalFindResults();

#Loc: <Workspace>/Engine/Source/Editor/Kismet/Public/FindInBlueprintManager.h:893

Scope (from outer to inner):

file
class        class FFindInBlueprintSearchManager : public FTickableEditorObject

Source code excerpt:


	/** Whether to enable Blueprint editor developer menu tools */
	bool bEnableDeveloperMenuTools;

	/** Disable the use of search result templates. Setting this to TRUE will slightly decrease overall memory usage, but will also increase global search times */
	bool bDisableSearchResultTemplates;

	/** Defers the cost to extract metadata for each discovered asset during the initial asset registry scan into a single pass over the full asset registry once the scan is complete. */
	bool bDisableImmediateAssetDiscovery;