Skip to content

LD::Editor::PropertyUtils::CategoryExpansion

Functions

Name
SMSYSTEMEDITOR_API FString BuildKey(const USMNodeInstance * InOwningTemplate, TArrayView< const FString > InParentCategoryNames, const FString & InItemCategoryName, bool bInIsArrayHeader =false, FName InArrayPropertyName =NAME_None, const FGuid & InScopeDiscriminator =FGuid())

Attributes

Name
constexpr const TCHAR * AdvancedToggleSentinel
constexpr const TCHAR * ArrayHeaderSentinelPrefix

Functions Documentation

function BuildKey

SMSYSTEMEDITOR_API FString BuildKey(
    const USMNodeInstance * InOwningTemplate,
    TArrayView< const FString > InParentCategoryNames,
    const FString & InItemCategoryName,
    bool bInIsArrayHeader =false,
    FName InArrayPropertyName =NAME_None,
    const FGuid & InScopeDiscriminator =FGuid()
)

Build a key for USMGraphNode_Base::PropertyCategoriesExpanded. Single source of truth: the slate layer that saves state and the graph node that prunes stale entries both route through here so the two stay in sync.

Key format (all segments joined as written): _[||...|][|][|] The template guid prefix (including the trailing underscore) is always present when InOwningTemplate is non-null, even for the zero guid carried by the primary node template. The scope-guid tail is appended only when InScopeDiscriminator is valid, so legacy keys built without a discriminator stay byte-identical to historical output.

Parameters:

InOwningTemplate
The owning template, or nullptr if the item has no template. The guid prefix is omitted entirely when null.
InParentCategoryNames
Ancestor categories, root-most first; already slug-safe.
InItemCategoryName
This item's own category name (slug-safe). Pass AdvancedToggleSentinel for the advanced toggle key. For array headers, pass the parent category's name so the header shares that category's prefix.
bInIsArrayHeader
True when building a key for an array header row.
InArrayPropertyName
Array property name, required when bInIsArrayHeader is true.
InScopeDiscriminator
Optional per-scope discriminator. Set to the owning element's property guid for rows rendered inside a child-graph bucket element so siblings sharing a sub-pin member name (e.g. an inner IntArray header inside each outer struct element) collapse independently. Pass an invalid (default) guid for rows at top level.

Attributes Documentation

variable AdvancedToggleSentinel

constexpr const TCHAR * AdvancedToggleSentinel = TEXT("__LD_AdvancedDisplay");

Sentinel appended to keys that track the advanced-display toggle under a category.


variable ArrayHeaderSentinelPrefix

constexpr const TCHAR * ArrayHeaderSentinelPrefix = TEXT("__LD_ArrayHeader_");

Sentinel prefix appended to keys that track an array header row per array property.