UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::ReferenceChainSearch Namespace Reference

Classes

struct  FDirectReferenceSearch
 
struct  FGraphPath
 
struct  FMinimalReferenceSearch
 
struct  FPolicyUObjectHeap
 
struct  FReferenceInfoSearch
 
struct  TReferenceSearchBase
 

Functions

void PerformInitialGatherFromLiveUObjectHeap (FPolicyUObjectHeap Policy, TConstArrayView< const UObject * > ObjectsToFindReferencesTo, EReferenceChainSearchMode Mode, UE::Graph::FGraph &OutGraph)
 
template<typename PolicyType >
int32 BuildGraphPathRecursive (PolicyType &Policy, const UE::Graph::FGraph &Graph, TMap< FVertex, int32 > &VisitCounts, FVertex ThisVertex, TArray< FGraphPath > &ProducedPaths, int32 ChainDepth, const int32 VisitCounter, EReferenceChainSearchMode Mode, FVertex GCObjReferencerVertex)
 
template<typename PolicyType >
void RemoveDuplicateGarbageChains (PolicyType &Policy, TArray< FGraphPath > &InOutGraphPaths, FVertex GCObjectReferencerVertex)
 
void RemoveChainsWithDuplicatedRoots (TArray< FGraphPath > &InOutPaths, FVertex GCObjectReferencerVertex)
 
void RemoveDuplicatedChains (TArray< FGraphPath > &InOutPaths, FVertex GCObjectReferencerVertex)
 
template<typename PolicyType >
void PerformSearch (PolicyType &Policy, TConstArrayView< typename PolicyType::ObjectType > ObjectsToFindReferencesTo, const UE::Graph::FGraph &Graph, EReferenceChainSearchMode Mode, TArray< FGraphPath > &OutGraphPaths)
 
template<typename PolicyType >
void PopulateReferenceInfo (PolicyType &Policy, const UE::Graph::FGraph &Graph, EReferenceChainSearchMode Mode, const TArray< FGraphPath > &GraphPaths, TArray< FReferenceChainSearch::FReferenceChain * > &OutReferenceChains)
 

Function Documentation

◆ BuildGraphPathRecursive()

template<typename PolicyType >
int32 UE::ReferenceChainSearch::BuildGraphPathRecursive ( PolicyType Policy,
const UE::Graph::FGraph Graph,
TMap< FVertex, int32 > &  VisitCounts,
FVertex  ThisVertex,
TArray< FGraphPath > &  ProducedPaths,
int32  ChainDepth,
const int32  VisitCounter,
EReferenceChainSearchMode  Mode,
FVertex  GCObjReferencerVertex 
)

◆ PerformInitialGatherFromLiveUObjectHeap()

void UE::ReferenceChainSearch::PerformInitialGatherFromLiveUObjectHeap ( FPolicyUObjectHeap  Policy,
TConstArrayView< const UObject * >  ObjectsToFindReferencesTo,
EReferenceChainSearchMode  Mode,
UE::Graph::FGraph OutGraph 
)

Create an initial graph from all UObject references on the heap for later analysis. Do not record any additional info such as property names/callstacks in this pass.

◆ PerformSearch()

template<typename PolicyType >
void UE::ReferenceChainSearch::PerformSearch ( PolicyType Policy,
TConstArrayView< typename PolicyType::ObjectType >  ObjectsToFindReferencesTo,
const UE::Graph::FGraph Graph,
EReferenceChainSearchMode  Mode,
TArray< FGraphPath > &  OutGraphPaths 
)

Search a transpose object graph for paths from the target objects to the roots.

Parameters
Graphreverse object reference graph i.e. edges are from objects to the objects that reference them.

◆ PopulateReferenceInfo()

template<typename PolicyType >
void UE::ReferenceChainSearch::PopulateReferenceInfo ( PolicyType Policy,
const UE::Graph::FGraph Graph,
EReferenceChainSearchMode  Mode,
const TArray< FGraphPath > &  GraphPaths,
TArray< FReferenceChainSearch::FReferenceChain * > &  OutReferenceChains 
)

◆ RemoveChainsWithDuplicatedRoots()

void UE::ReferenceChainSearch::RemoveChainsWithDuplicatedRoots ( TArray< FGraphPath > &  InOutPaths,
FVertex  GCObjectReferencerVertex 
)

◆ RemoveDuplicatedChains()

void UE::ReferenceChainSearch::RemoveDuplicatedChains ( TArray< FGraphPath > &  InOutPaths,
FVertex  GCObjectReferencerVertex 
)

◆ RemoveDuplicateGarbageChains()

template<typename PolicyType >
void UE::ReferenceChainSearch::RemoveDuplicateGarbageChains ( PolicyType Policy,
TArray< FGraphPath > &  InOutGraphPaths,
FVertex  GCObjectReferencerVertex 
)