MaxSearchBreadth

MaxSearchBreadth

#Overview

name: MaxSearchBreadth

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

#Summary

#Usage in the C++ source code

The purpose of MaxSearchBreadth is to limit the number of sibling nodes that can appear from a single node in the Reference Viewer, which is part of the Asset Manager Editor in Unreal Engine 5.

This setting variable is primarily used by the Asset Manager Editor plugin, specifically in the Reference Viewer subsystem. It’s part of the asset dependency visualization and management features of Unreal Engine.

The value of this variable is set in the UReferenceViewerSettings class, which is a configuration object. It can be modified through the SetSearchBreadthLimit function, which also saves the configuration after setting the new value.

MaxSearchBreadth interacts with other variables in the Reference Viewer system, such as bBreadthLimitReached, which indicates whether the breadth limit was reached during the last refilter operation.

Developers must be aware that this variable directly impacts the performance and visual complexity of the Reference Viewer graph. Setting it too high might lead to performance issues or overwhelming visual clutter, while setting it too low might hide important relationships between assets.

Best practices when using this variable include:

  1. Setting a reasonable default value that balances performance and usability for your project’s scale.
  2. Providing a user interface for adjusting this value dynamically, allowing users to fine-tune based on their current needs.
  3. Monitoring the bBreadthLimitReached flag to inform users when they might be missing information due to the breadth limit.
  4. Considering the typical complexity of asset relationships in your project when choosing an appropriate value.
  5. Using this in conjunction with other filtering mechanisms (like the collection filter) for more effective asset relationship exploration.

#Setting Variables

#References In INI files

Location: <Workspace>/Engine/Config/BaseEditorPerProjectUserSettings.ini:974, section: [/Script/AssetManagerEditor.ReferenceViewerSettings]

#References in C++ code

#Callsites

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

#Loc: <Workspace>/Engine/Plugins/Editor/AssetManagerEditor/Source/AssetManagerEditor/Private/ReferenceViewer/ReferenceViewerSettings.cpp:188

Scope (from outer to inner):

file
function     int32 UReferenceViewerSettings::GetSearchBreadthLimit

Source code excerpt:

int32 UReferenceViewerSettings::GetSearchBreadthLimit() const
{
	return MaxSearchBreadth;
}

void UReferenceViewerSettings::SetSearchBreadthLimit(int32 NewBreadthLimit)
{
	MaxSearchBreadth = FMath::Max(NewBreadthLimit, 0);
	SaveConfig();
}

bool UReferenceViewerSettings::GetEnableCollectionFilter() const
{
	return bEnableCollectionFilter;

#Loc: <Workspace>/Engine/Plugins/Editor/AssetManagerEditor/Source/AssetManagerEditor/Public/ReferenceViewer/EdGraph_ReferenceViewer.h:176

Scope (from outer to inner):

file
class        class UEdGraph_ReferenceViewer : public UEdGraph

Source code excerpt:

	FIntPoint CurrentGraphRootOrigin;

	int32 MaxSearchBreadth;

	/** Stores if the breadth limit was reached on the last refilter*/
	bool bBreadthLimitReached;

	/** Current collection filter. NAME_None for no filter */
	FName CurrentCollectionFilter;

#Loc: <Workspace>/Engine/Plugins/Editor/AssetManagerEditor/Source/AssetManagerEditor/Public/ReferenceViewer/ReferenceViewerSettings.h:137

Scope (from outer to inner):

file
class        class UReferenceViewerSettings : public UObject

Source code excerpt:

	/* The max number of siblings that can appear from a node */
	UPROPERTY(config)
	int32 MaxSearchBreadth;
	
	/* Whether or not to filter from a collection */
	UPROPERTY(config)
	bool bEnableCollectionFilter;
	
	/* Whether or not to filter for assets by plugins. */