Navigation
API > API/Runtime > API/Runtime/CoreUObject
Used by garbage collector to collect references via virtual AddReferencedObjects calls
| Name | FReferenceCollector |
| Type | class |
| Header File | /Engine/Source/Runtime/CoreUObject/Public/UObject/UObjectGlobals.h |
| Include Path | #include "UObject/UObjectGlobals.h" |
Syntax
class FReferenceCollector
Derived Classes
FReferenceCollector derived class hierarchy
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FReferenceCollector() |
UObject/UObjectGlobals.h |
Structs
| Name | Remarks |
|---|---|
| AROPrivate |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| DefaultReferenceCollectorArchive | TUniquePtr< FReferenceCollectorArchive > | Default proxy archive that uses serialization to add objects to this collector | UObject/UObjectGlobals.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddPropertyReferences
(
const UStruct* Struct, |
Adds all strong property references from a struct instance, but not the struct itself. | UObject/UObjectGlobals.h | |
void AddPropertyReferencesLimitedToObjectProperties
(
const UStruct* Struct, |
Internal use only. | UObject/UObjectGlobals.h | |
void AddPropertyReferencesWithStructARO
(
const UClass* Class, |
Same as AddPropertyReferences but also calls AddStructReferencedObjects on all nested structs | UObject/UObjectGlobals.h | |
void AddPropertyReferencesWithStructARO
(
const UScriptStruct* Struct, |
Same as AddPropertyReferences but also calls AddStructReferencedObjects on Struct and all nested structs | UObject/UObjectGlobals.h | |
void AddReferencedObject
(
UObjectType*& Object, |
Adds object reference. | UObject/UObjectGlobals.h | |
void AddReferencedObject
(
TObjectPtr< const UObjectType >& Object, |
Adds const object reference, this reference can still be nulled out if forcefully collected. | UObject/UObjectGlobals.h | |
void AddReferencedObject
(
TWeakObjectPtr< T >& P, |
UObject/UObjectGlobals.h | ||
void AddReferencedObject
(
FWeakObjectPtr& P, |
UObject/UObjectGlobals.h | ||
void AddReferencedObject
(
const UObjectType*& Object, |
Adds const object reference, this reference can still be nulled out if forcefully collected. | UObject/UObjectGlobals.h | |
void AddReferencedObject
(
TObjectPtr< UObjectType >& Object, |
Adds object reference. | UObject/UObjectGlobals.h | |
void AddReferencedObjects
(
TArray< TObjectPtr< UObjectType > >& ObjectArray, |
Adds references to an array of objects. | UObject/UObjectGlobals.h | |
void AddReferencedObjects
(
TSet< TObjectPtr< UObjectType > >& ObjectSet, |
Adds references to a set of objects. | UObject/UObjectGlobals.h | |
void AddReferencedObjects
(
TMapBase< KeyType, ValueType*, Allocator, KeyFuncs >& Map, |
UObject/UObjectGlobals.h | ||
void AddReferencedObjects
(
TMapBase< KeyType*, ValueType, Allocator, KeyFuncs >& Map, |
Adds references to a map of objects. | UObject/UObjectGlobals.h | |
void AddReferencedObjects
(
TSet< UObjectType* >& ObjectSet, |
Adds references to a set of objects. | UObject/UObjectGlobals.h | |
void AddReferencedObjects
(
TArray< const UObjectType* >& ObjectArray, |
Adds references to an array of const objects, these objects can still be nulled out if forcefully collected. | UObject/UObjectGlobals.h | |
void AddReferencedObjects
(
TMapBase< TObjectPtr< KeyType >, ValueType, Allocator, KeyFuncs >& Map, |
Adds references to a map of objects. | UObject/UObjectGlobals.h | |
void AddReferencedObjects
(
TMapBase< KeyType, TObjectPtr< ValueType >, Allocator, KeyFuncs >& Map, |
UObject/UObjectGlobals.h | ||
void AddReferencedObjects
(
TMapBase< TObjectPtr< KeyType >, TObjectPtr< ValueType >, Allocator, KeyFuncs >& Map, |
UObject/UObjectGlobals.h | ||
void AddReferencedObjects
(
const UScriptStruct*& ScriptStruct, |
Adds all strong property references from a UScriptStruct instance including the struct itself | UObject/UObjectGlobals.h | |
void AddReferencedObjects
(
TObjectPtr< const UScriptStruct >& ScriptStruct, |
UObject/UObjectGlobals.h | ||
void AddReferencedObjects
(
TWeakObjectPtr< const UScriptStruct >& ScriptStruct, |
UObject/UObjectGlobals.h | ||
void AddReferencedObjects
(
TArray< TObjectPtr< const UObjectType > >& ObjectArray, |
Adds references to an array of const objects, these objects can still be nulled out if forcefully collected. | UObject/UObjectGlobals.h | |
void AddReferencedObjects
(
TMapBase< KeyType*, ValueType*, Allocator, KeyFuncs >& Map, |
UObject/UObjectGlobals.h | ||
void AddReferencedObjects
(
TArray< UObjectType* >& ObjectArray, |
Adds references to an array of objects. | UObject/UObjectGlobals.h | |
void AddStableReference
(
TObjectPtr< UObjectType >* Object |
UObject/UObjectGlobals.h | ||
virtual void AddStableReference
(
UObject** Object |
Preferred way to add a reference that allows batching. | UObject/UObjectGlobals.h | |
virtual void AddStableReference
(
TObjectPtr< UObject >* Object |
Preferred way to add a reference that allows batching. | UObject/UObjectGlobals.h | |
void AddStableReference
(
UObjectType** Object |
UObject/UObjectGlobals.h | ||
virtual void AddStableReferenceArray
(
TArray< TObjectPtr< UObject > >* Objects |
Preferred way to add a reference array that allows batching. | UObject/UObjectGlobals.h | |
void AddStableReferenceArray
(
TArray< TObjectPtr< UObjectType > >* Objects |
UObject/UObjectGlobals.h | ||
void AddStableReferenceArray
(
TArray< UObjectType* >* Objects |
UObject/UObjectGlobals.h | ||
virtual void AddStableReferenceArray
(
TArray< UObject* >* Objects |
Preferred way to add a reference array that allows batching. | UObject/UObjectGlobals.h | |
void AddStableReferenceMap
(
TMapBase< KeyType, ValueType, Allocator, KeyFuncs >& Map |
UObject/UObjectGlobals.h | ||
virtual void AddStableReferenceSet
(
TSet< TObjectPtr< UObject > >* Objects |
Preferred way to add a reference set that allows batching. Can't be used for temporary/stack set. | UObject/UObjectGlobals.h | |
virtual void AddStableReferenceSet
(
TSet< UObject* >* Objects |
Preferred way to add a reference set that allows batching. Can't be used for temporary/stack set. | UObject/UObjectGlobals.h | |
void AddStableReferenceSet
(
TSet< UObjectType* >* Objects |
UObject/UObjectGlobals.h | ||
void AddStableReferenceSet
(
TSet< TObjectPtr< UObjectType > >* Objects |
UObject/UObjectGlobals.h | ||
virtual void AllowEliminatingReferences
(
bool bAllow |
Allows reference elimination by this collector. | UObject/UObjectGlobals.h | |
virtual FProperty * GetSerializedProperty() |
Gets the property that is currently being serialized | UObject/UObjectGlobals.h | |
| Get archive to collect references via SerializeBin / Serialize. | UObject/UObjectGlobals.h | ||
bool IsIgnoringArchetypeRef() |
If true archetype references should not be added to this collector. | UObject/UObjectGlobals.h | |
bool IsIgnoringTransient() |
If true transient objects should not be added to this collector. | UObject/UObjectGlobals.h | |
virtual bool IsProcessingNativeReferences() |
If true, this collector is currently processing native references (true by default). | UObject/UObjectGlobals.h | |
virtual bool MarkWeakObjectReferenceForClearing
(
UObject** WeakReference, |
Marks a specific object reference as a weak reference. | UObject/UObjectGlobals.h | |
virtual bool NeedsInitialReferences() |
Used by parallel reachability analysis to pre-collect and then exclude some initial FGCObject references | UObject/UObjectGlobals.h | |
virtual bool NeedsPropertyReferencer () |
Make Add[OnlyObject]PropertyReference/AddReferencedObjects(UScriptStruct) use AddReferencedObjects(UObject*&) callbacks with ReferencingObject and ReferencingProperty context supplied and check for null references before making a callback. | UObject/UObjectGlobals.h | |
virtual void SetIsProcessingNativeReferences
(
bool bIsNative |
Sets whether this collector is currently processing native references or not. | UObject/UObjectGlobals.h | |
virtual void SetSerializedProperty
(
FProperty* Inproperty |
Sets the property that is currently being serialized | UObject/UObjectGlobals.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Handle object reference. Called by AddReferencedObject. | UObject/UObjectGlobals.h | ||
virtual void HandleObjectReferences
(
FObjectPtr* InObjects, |
Handle multiple object references. | UObject/UObjectGlobals.h | |
virtual void HandleObjectReferences
(
UObject** InObjects, |
Handle multiple object references. | UObject/UObjectGlobals.h |