UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FDependsNode Class Reference

#include <DependsNode.h>

Classes

struct  FLoadScratch
 
struct  FSaveScratch
 

Public Types

typedef TArray< FDependsNode * > FDependsNodeList
 
typedef TPropertyCombinationSet< PackageFlagWidthFPackageFlagSet
 
typedef TPropertyCombinationSet< ManageFlagWidthFManageFlagSet
 
typedef TUniqueFunction< void(FDependsNode *Dependency, UE::AssetRegistry::EDependencyCategory Category, UE::AssetRegistry::EDependencyProperty Properties, bool bDuplicate)> FIterateDependenciesCallback
 

Public Member Functions

 FDependsNode ()
 
 FDependsNode (const FAssetIdentifier &InIdentifier)
 
void PrintNode () const
 
void PrintDependencies () const
 
void PrintReferencers () const
 
void GetDependencies (TArray< FDependsNode * > &OutDependencies, UE::AssetRegistry::EDependencyCategory Category=UE::AssetRegistry::EDependencyCategory::All, const UE::AssetRegistry::FDependencyQuery &Flags=UE::AssetRegistry::FDependencyQuery()) const
 
void GetDependencies (TArray< FAssetIdentifier > &OutDependencies, UE::AssetRegistry::EDependencyCategory Category=UE::AssetRegistry::EDependencyCategory::All, const UE::AssetRegistry::FDependencyQuery &Flags=UE::AssetRegistry::FDependencyQuery()) const
 
void GetDependencies (TArray< FAssetDependency > &OutDependencies, UE::AssetRegistry::EDependencyCategory Category=UE::AssetRegistry::EDependencyCategory::All, const UE::AssetRegistry::FDependencyQuery &Flags=UE::AssetRegistry::FDependencyQuery()) const
 
void GetReferencers (TArray< FDependsNode * > &OutReferencers, UE::AssetRegistry::EDependencyCategory Category=UE::AssetRegistry::EDependencyCategory::All, const UE::AssetRegistry::FDependencyQuery &Flags=UE::AssetRegistry::FDependencyQuery()) const
 
void GetReferencers (TArray< FAssetDependency > &OutReferencers, UE::AssetRegistry::EDependencyCategory Category=UE::AssetRegistry::EDependencyCategory::All, const UE::AssetRegistry::FDependencyQuery &Flags=UE::AssetRegistry::FDependencyQuery()) const
 
FName GetPackageName () const
 
const FAssetIdentifierGetIdentifier () const
 
bool IsScriptPath () const
 
void SetIdentifier (const FAssetIdentifier &InIdentifier)
 
void AddDependency (FDependsNode *InDependency, UE::AssetRegistry::EDependencyCategory InDependencyType, UE::AssetRegistry::EDependencyProperty InProperties)
 
void GetPackageReferencers (TArray< TPair< FAssetIdentifier, FPackageFlagSet > > &OutReferencers)
 
void AddPackageDependencySet (FDependsNode *InDependency, const FPackageFlagSet &PropertyCombinationSet)
 
void AddReferencer (FDependsNode *InReferencer)
 
void RemoveDependency (FDependsNode *InDependency, UE::AssetRegistry::EDependencyCategory Category=UE::AssetRegistry::EDependencyCategory::All)
 
void RemoveReferencer (FDependsNode *InReferencer)
 
void RemoveReferencers (const TSet< FDependsNode * > &InReferencers)
 
void RefreshReferencers ()
 
bool ContainsDependency (const FDependsNode *InDependency, UE::AssetRegistry::EDependencyCategory Category=UE::AssetRegistry::EDependencyCategory::All, const UE::AssetRegistry::FDependencyQuery &Flags=UE::AssetRegistry::FDependencyQuery()) const
 
void ClearDependencies (UE::AssetRegistry::EDependencyCategory Category=UE::AssetRegistry::EDependencyCategory::All)
 
void ClearReferencers ()
 
void RemoveManageReferencesToNode ()
 
void RemoveLinks (const TUniqueFunction< bool(const FDependsNode *)> &ShouldRemove)
 
int32 GetConnectionCount () const
 
SIZE_T GetAllocatedSize (void) const
 
void IterateOverDependencies (const FIterateDependenciesCallback &InCallback, UE::AssetRegistry::EDependencyCategory Category=UE::AssetRegistry::EDependencyCategory::All, const UE::AssetRegistry::FDependencyQuery &Flags=UE::AssetRegistry::FDependencyQuery()) const
 
void IterateOverDependencies (const FIterateDependenciesCallback &InCallback, const FDependsNode *DependsNode, UE::AssetRegistry::EDependencyCategory Category=UE::AssetRegistry::EDependencyCategory::All, const UE::AssetRegistry::FDependencyQuery &Flags=UE::AssetRegistry::FDependencyQuery()) const
 
template<class T >
void IterateOverReferencers (const T &InCallback) const
 
void Reserve (int32 InNumPackageDependencies, int32 InNumNameDependencies, int32 InNumManageDependencies, int32 InNumReferencers)
 
void Reserve (const FDependsNodeReservations &InReservations)
 
void Reserve (const FDependsNode *Other)
 
bool GetAllowShrinking () const
 
void SetAllowShrinking (bool bAllowShrinking)
 
void SerializeSave (FArchive &Ar, const TUniqueFunction< int32(FDependsNode *, bool)> &GetSerializeIndexFromNode, FSaveScratch &Scratch, const FAssetRegistrySerializationOptions &Options) const
 
template<bool bLatestVersion>
void SerializeLoad (FArchive &Ar, const TUniqueFunction< FDependsNode *(int32)> &GetNodeFromSerializeIndex, FLoadScratch &Scratch, FAssetRegistryVersion::Type Version)
 
void LegacySerializeLoad_BeforeFlags (FArchive &Ar, FAssetRegistryVersion::Type Version, FDependsNode *PreallocatedDependsNodeDataBuffer, int32 NumDependsNodes, bool bSerializeDependencies)
 
bool IsDependencyListSorted (UE::AssetRegistry::EDependencyCategory Category) const
 
void SetIsDependencyListSorted (UE::AssetRegistry::EDependencyCategory Category, bool bValue)
 
bool IsReferencersSorted () const
 
void SetIsReferencersSorted (bool bValue)
 
bool IsScriptDependenciesInitialized () const
 
void SetIsScriptDependenciesInitialized (bool bValue)
 

Static Public Member Functions

static uint8 PackagePropertiesToByte (UE::AssetRegistry::EDependencyProperty Properties)
 
static UE::AssetRegistry::EDependencyProperty ByteToPackageProperties (uint8 Bits)
 
static uint8 ManagePropertiesToByte (UE::AssetRegistry::EDependencyProperty Properties)
 
static UE::AssetRegistry::EDependencyProperty ByteToManageProperties (uint8 Bits)
 

Static Public Attributes

static constexpr uint32 PackageFlagWidth = 3
 
static constexpr uint32 SearchableNameFlagWidth = 0
 
static constexpr uint32 ManageFlagWidth = 2
 
static constexpr uint32 PackageFlagSetWidth = FPackageFlagSet::StorageBitCount
 
static constexpr uint32 SearchableNameFlagSetWidth = 0
 
static constexpr uint32 ManageFlagSetWidth = FManageFlagSet::StorageBitCount
 

Detailed Description

Implementation of IDependsNode

Member Typedef Documentation

◆ FDependsNodeList

◆ FIterateDependenciesCallback

◆ FManageFlagSet

◆ FPackageFlagSet

Constructor & Destructor Documentation

◆ FDependsNode() [1/2]

FDependsNode::FDependsNode ( )
inline

◆ FDependsNode() [2/2]

FDependsNode::FDependsNode ( const FAssetIdentifier InIdentifier)
inline

Member Function Documentation

◆ AddDependency()

void FDependsNode::AddDependency ( FDependsNode InDependency,
UE::AssetRegistry::EDependencyCategory  InDependencyType,
UE::AssetRegistry::EDependencyProperty  InProperties 
)

Add a dependency to this node

◆ AddPackageDependencySet()

void FDependsNode::AddPackageDependencySet ( FDependsNode InDependency,
const FPackageFlagSet PropertyCombinationSet 
)

◆ AddReferencer()

void FDependsNode::AddReferencer ( FDependsNode InReferencer)

Add a referencer to this node

◆ ByteToManageProperties()

UE::AssetRegistry::EDependencyProperty FDependsNode::ByteToManageProperties ( uint8  Bits)
inlinestatic

◆ ByteToPackageProperties()

UE::AssetRegistry::EDependencyProperty FDependsNode::ByteToPackageProperties ( uint8  Bits)
inlinestatic

◆ ClearDependencies()

Clear all dependency records from this node

◆ ClearReferencers()

void FDependsNode::ClearReferencers ( )

◆ ContainsDependency()

◆ GetAllocatedSize()

SIZE_T FDependsNode::GetAllocatedSize ( void  ) const
inline

Returns amount of memory used by the arrays

◆ GetAllowShrinking()

bool FDependsNode::GetAllowShrinking ( ) const
inline

◆ GetConnectionCount()

int32 FDependsNode::GetConnectionCount ( ) const

Returns number of connections this node has, both references and dependencies

◆ GetDependencies() [1/3]

◆ GetDependencies() [2/3]

Gets the list of dependency names for this node

◆ GetDependencies() [3/3]

Gets the list of dependencies for this node

◆ GetIdentifier()

const FAssetIdentifier & FDependsNode::GetIdentifier ( ) const
inline

Returns the entire identifier

◆ GetPackageName()

FName FDependsNode::GetPackageName ( ) const
inline

Helper function to return GetIdentifier.PackageName.

◆ GetPackageReferencers()

void FDependsNode::GetPackageReferencers ( TArray< TPair< FAssetIdentifier, FPackageFlagSet > > &  OutReferencers)

◆ GetReferencers() [1/2]

◆ GetReferencers() [2/2]

Gets the list of referencers to this node

◆ IsDependencyListSorted()

bool FDependsNode::IsDependencyListSorted ( UE::AssetRegistry::EDependencyCategory  Category) const

◆ IsReferencersSorted()

bool FDependsNode::IsReferencersSorted ( ) const

◆ IsScriptDependenciesInitialized()

bool FDependsNode::IsScriptDependenciesInitialized ( ) const

Returns true if an IsScriptPath() FDependsNode has been initialized. FDependsNodes that are not IsScriptPath() will always return false.

◆ IsScriptPath()

bool FDependsNode::IsScriptPath ( ) const
inline

◆ IterateOverDependencies() [1/2]

void FDependsNode::IterateOverDependencies ( const FIterateDependenciesCallback InCallback,
const FDependsNode DependsNode,
UE::AssetRegistry::EDependencyCategory  Category = UE::AssetRegistry::EDependencyCategory::All,
const UE::AssetRegistry::FDependencyQuery Flags = UE::AssetRegistry::FDependencyQuery() 
) const

◆ IterateOverDependencies() [2/2]

Iterate over all the dependencies of this node, optionally filtered by the target node, category and query, and call the supplied lambda parameter on the record.

◆ IterateOverReferencers()

template<class T >
void FDependsNode::IterateOverReferencers ( const T &  InCallback) const
inline

Iterate over all the referencers of this node and call the supplied lambda parameter on the referencer

◆ LegacySerializeLoad_BeforeFlags()

void FDependsNode::LegacySerializeLoad_BeforeFlags ( FArchive Ar,
FAssetRegistryVersion::Type  Version,
FDependsNode PreallocatedDependsNodeDataBuffer,
int32  NumDependsNodes,
bool  bSerializeDependencies 
)

◆ ManagePropertiesToByte()

uint8 FDependsNode::ManagePropertiesToByte ( UE::AssetRegistry::EDependencyProperty  Properties)
inlinestatic

◆ PackagePropertiesToByte()

uint8 FDependsNode::PackagePropertiesToByte ( UE::AssetRegistry::EDependencyProperty  Properties)
inlinestatic

◆ PrintDependencies()

void FDependsNode::PrintDependencies ( ) const

Prints the dependencies for this node to the log

◆ PrintNode()

void FDependsNode::PrintNode ( ) const

Prints the dependencies and referencers for this node to the log

◆ PrintReferencers()

void FDependsNode::PrintReferencers ( ) const

Prints the referencers to this node to the log

◆ RefreshReferencers()

void FDependsNode::RefreshReferencers ( )

Removes any referencers that no longer have this node as a dependency

◆ RemoveDependency()

void FDependsNode::RemoveDependency ( FDependsNode InDependency,
UE::AssetRegistry::EDependencyCategory  Category = UE::AssetRegistry::EDependencyCategory::All 
)

Remove a dependency from this node

◆ RemoveLinks()

void FDependsNode::RemoveLinks ( const TUniqueFunction< bool(const FDependsNode *)> &  ShouldRemove)

Remove all nodes from referencers and dependencies for which ShouldRemove returns true

◆ RemoveManageReferencesToNode()

void FDependsNode::RemoveManageReferencesToNode ( )

Removes Manage dependencies on this node and clean up referencers array. Manage references are the only ones safe to remove at runtime.

◆ RemoveReferencer()

void FDependsNode::RemoveReferencer ( FDependsNode InReferencer)

Remove a referencer from this node

◆ RemoveReferencers()

void FDependsNode::RemoveReferencers ( const TSet< FDependsNode * > &  InReferencers)

Remove a set of referencers from this node

◆ Reserve() [1/3]

void FDependsNode::Reserve ( const FDependsNode Other)
inline

◆ Reserve() [2/3]

void FDependsNode::Reserve ( const FDependsNodeReservations InReservations)
inline

◆ Reserve() [3/3]

void FDependsNode::Reserve ( int32  InNumPackageDependencies,
int32  InNumNameDependencies,
int32  InNumManageDependencies,
int32  InNumReferencers 
)
inline

◆ SerializeLoad()

template<bool bLatestVersion>
template void FDependsNode::SerializeLoad< false > ( FArchive Ar,
const TUniqueFunction< FDependsNode *(int32)> &  GetNodeFromSerializeIndex,
FLoadScratch Scratch,
FAssetRegistryVersion::Type  Version 
)

◆ SerializeSave()

void FDependsNode::SerializeSave ( FArchive Ar,
const TUniqueFunction< int32(FDependsNode *, bool)> &  GetSerializeIndexFromNode,
FSaveScratch Scratch,
const FAssetRegistrySerializationOptions Options 
) const

◆ SetAllowShrinking()

void FDependsNode::SetAllowShrinking ( bool  bAllowShrinking)
inline

◆ SetIdentifier()

void FDependsNode::SetIdentifier ( const FAssetIdentifier InIdentifier)

Sets the entire identifier

◆ SetIsDependencyListSorted()

void FDependsNode::SetIsDependencyListSorted ( UE::AssetRegistry::EDependencyCategory  Category,
bool  bValue 
)

◆ SetIsReferencersSorted()

void FDependsNode::SetIsReferencersSorted ( bool  bValue)

◆ SetIsScriptDependenciesInitialized()

void FDependsNode::SetIsScriptDependenciesInitialized ( bool  bValue)

Member Data Documentation

◆ ManageFlagSetWidth

constexpr uint32 FDependsNode::ManageFlagSetWidth = FManageFlagSet::StorageBitCount
staticconstexpr

◆ ManageFlagWidth

constexpr uint32 FDependsNode::ManageFlagWidth = 2
staticconstexpr

◆ PackageFlagSetWidth

constexpr uint32 FDependsNode::PackageFlagSetWidth = FPackageFlagSet::StorageBitCount
staticconstexpr

◆ PackageFlagWidth

constexpr uint32 FDependsNode::PackageFlagWidth = 3
staticconstexpr

◆ SearchableNameFlagSetWidth

constexpr uint32 FDependsNode::SearchableNameFlagSetWidth = 0
staticconstexpr

◆ SearchableNameFlagWidth

constexpr uint32 FDependsNode::SearchableNameFlagWidth = 0
staticconstexpr

The documentation for this class was generated from the following files: