UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FPersistentFrameCollector Class Referencefinal
+ Inheritance diagram for FPersistentFrameCollector:

Public Member Functions

 FPersistentFrameCollector (FReferenceCollector &Collector, uint8 *Instance, UObject *InBlueprint)
 
virtual void HandleObjectReference (UObject *&Object, const UObject *Referencer, const FProperty *ReferencingProperty) override
 
virtual void HandleObjectReferences (UObject **Objects, int32 Num, const UObject *ReferencingObject, const FProperty *ReferencingProperty) override
 
virtual bool IsIgnoringArchetypeRef () const override
 
virtual bool IsIgnoringTransient () const override
 
- Public Member Functions inherited from FReferenceCollector
virtual COREUOBJECT_API ~FReferenceCollector ()
 
virtual COREUOBJECT_API void AddStableReference (TObjectPtr< UObject > *Object)
 
virtual COREUOBJECT_API void AddStableReferenceArray (TArray< TObjectPtr< UObject > > *Objects)
 
virtual COREUOBJECT_API void AddStableReferenceSet (TSet< TObjectPtr< UObject > > *Objects)
 
template<typename KeyType , typename ValueType , typename Allocator , typename KeyFuncs >
void AddStableReferenceMap (TMapBase< KeyType, ValueType, Allocator, KeyFuncs > &Map)
 
virtual COREUOBJECT_API void AddStableReference (UObject **Object)
 
virtual COREUOBJECT_API void AddStableReferenceArray (TArray< UObject * > *Objects)
 
virtual COREUOBJECT_API void AddStableReferenceSet (TSet< UObject * > *Objects)
 
template<class UObjectType >
void AddStableReference (UObjectType **Object)
 
template<class UObjectType >
void AddStableReferenceArray (TArray< UObjectType * > *Objects)
 
template<class UObjectType >
void AddStableReferenceSet (TSet< UObjectType * > *Objects)
 
template<class UObjectType >
UE_FORCEINLINE_HINT void AddStableReference (TObjectPtr< UObjectType > *Object)
 
template<class UObjectType >
UE_FORCEINLINE_HINT void AddStableReferenceArray (TArray< TObjectPtr< UObjectType > > *Objects)
 
template<class UObjectType >
UE_FORCEINLINE_HINT void AddStableReferenceSet (TSet< TObjectPtr< UObjectType > > *Objects)
 
template<class UObjectType >
void AddReferencedObject (UObjectType *&Object, const UObject *ReferencingObject=nullptr, const FProperty *ReferencingProperty=nullptr)
 
template<class UObjectType >
void AddReferencedObject (const UObjectType *&Object, const UObject *ReferencingObject=nullptr, const FProperty *ReferencingProperty=nullptr)
 
template<class UObjectType >
void AddReferencedObjects (TArray< UObjectType * > &ObjectArray, const UObject *ReferencingObject=nullptr, const FProperty *ReferencingProperty=nullptr)
 
template<class UObjectType >
void AddReferencedObjects (TArray< const UObjectType * > &ObjectArray, const UObject *ReferencingObject=nullptr, const FProperty *ReferencingProperty=nullptr)
 
template<class UObjectType >
void AddReferencedObjects (TSet< UObjectType * > &ObjectSet, const UObject *ReferencingObject=nullptr, const FProperty *ReferencingProperty=nullptr)
 
template<typename KeyType , typename ValueType , typename Allocator , typename KeyFuncs >
void AddReferencedObjects (TMapBase< KeyType *, ValueType, Allocator, KeyFuncs > &Map, const UObject *ReferencingObject=nullptr, const FProperty *ReferencingProperty=nullptr)
 
template<typename KeyType , typename ValueType , typename Allocator , typename KeyFuncs >
void AddReferencedObjects (TMapBase< KeyType, ValueType *, Allocator, KeyFuncs > &Map, const UObject *ReferencingObject=nullptr, const FProperty *ReferencingProperty=nullptr)
 
template<typename KeyType , typename ValueType , typename Allocator , typename KeyFuncs >
void AddReferencedObjects (TMapBase< KeyType *, ValueType *, Allocator, KeyFuncs > &Map, const UObject *ReferencingObject=nullptr, const FProperty *ReferencingProperty=nullptr)
 
template<class UObjectType >
void AddReferencedObject (TObjectPtr< UObjectType > &Object, const UObject *ReferencingObject=nullptr, const FProperty *ReferencingProperty=nullptr)
 
template<class UObjectType >
void AddReferencedObject (TObjectPtr< const UObjectType > &Object, const UObject *ReferencingObject=nullptr, const FProperty *ReferencingProperty=nullptr)
 
template<class UObjectType >
void AddReferencedObjects (TArray< TObjectPtr< UObjectType > > &ObjectArray, const UObject *ReferencingObject=nullptr, const FProperty *ReferencingProperty=nullptr)
 
template<class UObjectType >
void AddReferencedObjects (TArray< TObjectPtr< const UObjectType > > &ObjectArray, const UObject *ReferencingObject=nullptr, const FProperty *ReferencingProperty=nullptr)
 
template<class UObjectType >
void AddReferencedObjects (TSet< TObjectPtr< UObjectType > > &ObjectSet, const UObject *ReferencingObject=nullptr, const FProperty *ReferencingProperty=nullptr)
 
template<typename KeyType , typename ValueType , typename Allocator , typename KeyFuncs >
void AddReferencedObjects (TMapBase< TObjectPtr< KeyType >, ValueType, Allocator, KeyFuncs > &Map, const UObject *ReferencingObject=nullptr, const FProperty *ReferencingProperty=nullptr)
 
template<typename KeyType , typename ValueType , typename Allocator , typename KeyFuncs >
void AddReferencedObjects (TMapBase< KeyType, TObjectPtr< ValueType >, Allocator, KeyFuncs > &Map, const UObject *ReferencingObject=nullptr, const FProperty *ReferencingProperty=nullptr)
 
template<typename KeyType , typename ValueType , typename Allocator , typename KeyFuncs >
void AddReferencedObjects (TMapBase< TObjectPtr< KeyType >, TObjectPtr< ValueType >, Allocator, KeyFuncs > &Map, const UObject *ReferencingObject=nullptr, const FProperty *ReferencingProperty=nullptr)
 
template<typename T >
void AddReferencedObject (TWeakObjectPtr< T > &P, const UObject *ReferencingObject=nullptr, const FProperty *ReferencingProperty=nullptr)
 
COREUOBJECT_API void AddReferencedObject (FWeakObjectPtr &P, const UObject *ReferencingObject=nullptr, const FProperty *ReferencingProperty=nullptr)
 
COREUOBJECT_API void AddReferencedObjects (const UScriptStruct *&ScriptStruct, void *Instance, const UObject *ReferencingObject=nullptr, const FProperty *ReferencingProperty=nullptr)
 
COREUOBJECT_API void AddReferencedObjects (TObjectPtr< const UScriptStruct > &ScriptStruct, void *Instance, const UObject *ReferencingObject=nullptr, const FProperty *ReferencingProperty=nullptr)
 
COREUOBJECT_API void AddReferencedObjects (TWeakObjectPtr< const UScriptStruct > &ScriptStruct, void *Instance, const UObject *ReferencingObject=nullptr, const FProperty *ReferencingProperty=nullptr)
 
COREUOBJECT_API void AddPropertyReferences (const UStruct *Struct, void *Instance, const UObject *ReferencingObject=nullptr)
 
COREUOBJECT_API void AddPropertyReferencesWithStructARO (const UScriptStruct *Struct, void *Instance, const UObject *ReferencingObject=nullptr)
 
COREUOBJECT_API void AddPropertyReferencesWithStructARO (const UClass *Class, void *Instance, const UObject *ReferencingObject=nullptr)
 
COREUOBJECT_API void AddPropertyReferencesLimitedToObjectProperties (const UStruct *Struct, void *Instance, const UObject *ReferencingObject=nullptr)
 
virtual bool NeedsPropertyReferencer () const
 
virtual void AllowEliminatingReferences (bool bAllow)
 
virtual void SetSerializedProperty (class FProperty *Inproperty)
 
virtual class FPropertyGetSerializedProperty () const
 
virtual bool MarkWeakObjectReferenceForClearing (UObject **WeakReference, UObject *ReferenceOwner)
 
virtual void SetIsProcessingNativeReferences (bool bIsNative)
 
virtual bool IsProcessingNativeReferences () const
 
virtual bool NeedsInitialReferences () const
 
FReferenceCollectorArchiveGetVerySlowReferenceCollectorArchive ()
 

Additional Inherited Members

- Protected Member Functions inherited from FReferenceCollector
virtual COREUOBJECT_API void HandleObjectReferences (FObjectPtr *InObjects, const int32 ObjectNum, const UObject *InReferencingObject, const FProperty *InReferencingProperty)
 

Constructor & Destructor Documentation

◆ FPersistentFrameCollector()

FPersistentFrameCollector::FPersistentFrameCollector ( FReferenceCollector Collector,
uint8 Instance,
UObject InBlueprint 
)
inline

Member Function Documentation

◆ HandleObjectReference()

virtual void FPersistentFrameCollector::HandleObjectReference ( UObject *&  InObject,
const UObject InReferencingObject,
const FProperty InReferencingProperty 
)
inlineoverridevirtual

Handle object reference. Called by AddReferencedObject.

Parameters
ObjectReferenced object.
ReferencingObjectReferencing object (if available).
ReferencingPropertyReferencing property (if available).

Implements FReferenceCollector.

◆ HandleObjectReferences()

virtual void FPersistentFrameCollector::HandleObjectReferences ( UObject **  InObjects,
int32  ObjectNum,
const UObject InReferencingObject,
const FProperty InReferencingProperty 
)
inlineoverridevirtual

Handle multiple object references. Called by AddReferencedObjects. DEFAULT IMPLEMENTATION IS SLOW as it calls HandleObjectReference multiple times. In order to optimize it, provide your own implementation.

Parameters
ObjectReferenced object.
ReferencingObjectReferencing object (if available).
ReferencingPropertyReferencing property (if available).

Reimplemented from FReferenceCollector.

◆ IsIgnoringArchetypeRef()

virtual bool FPersistentFrameCollector::IsIgnoringArchetypeRef ( ) const
inlineoverridevirtual

If true archetype references should not be added to this collector.

Implements FReferenceCollector.

◆ IsIgnoringTransient()

virtual bool FPersistentFrameCollector::IsIgnoringTransient ( ) const
inlineoverridevirtual

If true transient objects should not be added to this collector.

Implements FReferenceCollector.


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