UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FObjectInstancingGraph Struct Reference

#include <Class.h>

Public Member Functions

COREUOBJECT_API FObjectInstancingGraph (bool bDisableInstancing=false)
 
COREUOBJECT_API FObjectInstancingGraph (EObjectInstancingGraphOptions InOptions)
 
COREUOBJECT_API FObjectInstancingGraph (class UObject *DestinationSubobjectRoot, EObjectInstancingGraphOptions InOptions=EObjectInstancingGraphOptions::None)
 
bool HasDestinationRoot () const
 
const UObjectGetDestinationRoot () const
 
COREUOBJECT_API void SetDestinationRoot (class UObject *DestinationSubobjectRoot, class UObject *InSourceRoot=nullptr)
 
COREUOBJECT_API class UObjectGetDestinationObject (class UObject *SourceObject)
 
COREUOBJECT_API class UObjectInstancePropertyValue (class UObject *SourceComponent, TNotNull< UObject * > CurrentValue, TNotNull< UObject * > Owner, EInstancePropertyValueFlags Flags=EInstancePropertyValueFlags::None)
 
COREUOBJECT_API void AddNewObject (class UObject *ObjectInstance, class UObject *InArchetype=nullptr)
 
COREUOBJECT_API void AddNewInstance (class UObject *ObjectInstance, class UObject *InArchetype=nullptr)
 
COREUOBJECT_API void RetrieveObjectInstances (class UObject *SearchOuter, TArray< class UObject * > &out_Objects)
 
template<typename Predicate >
void ForEachObjectInstance (Predicate Pred)
 
void EnableSubobjectInstancing (bool bEnabled)
 
bool IsSubobjectInstancingEnabled () const
 
void SetLoadingObject (bool bIsLoading)
 
void AddPropertyToSubobjectExclusionList (const FProperty *Property)
 
bool IsPropertyInSubobjectExclusionList (const FProperty *Property) const
 

Constructor & Destructor Documentation

◆ FObjectInstancingGraph() [1/3]

FObjectInstancingGraph::FObjectInstancingGraph ( bool  bDisableInstancing = false)
explicit

Default Constructor

Parameters
bDisableInstancing- if true, start with component instancing disabled

◆ FObjectInstancingGraph() [2/3]

FObjectInstancingGraph::FObjectInstancingGraph ( EObjectInstancingGraphOptions  InOptions)
explicit

Constructor with options

Parameters
InOptionsAdditional options to modify the behavior of this graph

◆ FObjectInstancingGraph() [3/3]

FObjectInstancingGraph::FObjectInstancingGraph ( class UObject DestinationSubobjectRoot,
EObjectInstancingGraphOptions  InOptions = EObjectInstancingGraphOptions::None 
)
explicit

Standard constructor

Parameters
DestinationSubobjectRootthe top-level object that is being created
InOptionsAdditional options to modify the behavior of this graph

Member Function Documentation

◆ AddNewInstance()

void FObjectInstancingGraph::AddNewInstance ( class UObject ObjectInstance,
class UObject InArchetype = nullptr 
)

Adds an object instance to the map of source objects to their instances. If there is already a mapping for this object, it will be replaced and the value corresponding to ObjectInstance's archetype will now point to ObjectInstance.

Parameters
ObjectInstancethe object that should be added as the corresopnding instance for ObjectSource
InArchetypeArchetype of ObjectInstance

◆ AddNewObject()

void FObjectInstancingGraph::AddNewObject ( class UObject ObjectInstance,
class UObject InArchetype = nullptr 
)

Adds a partially built object instance to the map(s) of source objects to their instances.

Parameters
ObjectInstanceObject that was just allocated, but has not been constructed yet
InArchetypeArchetype of ObjectInstance

◆ AddPropertyToSubobjectExclusionList()

void FObjectInstancingGraph::AddPropertyToSubobjectExclusionList ( const FProperty Property)
inline

Adds a member variable property that should not instantiate subobjects

◆ EnableSubobjectInstancing()

void FObjectInstancingGraph::EnableSubobjectInstancing ( bool  bEnabled)
inline

Enables / disables component instancing.

◆ ForEachObjectInstance()

template<typename Predicate >
void FObjectInstancingGraph::ForEachObjectInstance ( Predicate  Pred)
inline

Allows looping over instances that were created during this instancing.

Parameters
Predthe object to retrieve object instances for

◆ GetDestinationObject()

UObject * FObjectInstancingGraph::GetDestinationObject ( class UObject SourceObject)

Finds the destination object instance corresponding to the specified source object.

Parameters
SourceObjectthe object to find the corresponding instance for

◆ GetDestinationRoot()

const UObject * FObjectInstancingGraph::GetDestinationRoot ( ) const
inline

Returns the DestinationRoot for this instancing graph.

◆ HasDestinationRoot()

bool FObjectInstancingGraph::HasDestinationRoot ( ) const
inline

Returns whether this instancing graph has a valid destination root.

◆ InstancePropertyValue()

UObject * FObjectInstancingGraph::InstancePropertyValue ( class UObject SourceComponent,
TNotNull< UObject * >  CurrentValue,
TNotNull< UObject * >  Owner,
EInstancePropertyValueFlags  Flags = EInstancePropertyValueFlags::None 
)

Returns the component that has SourceComponent as its archetype, instancing the component as necessary.

Parameters
SourceComponentthe component to find the corresponding component instance for
CurrentValuethe component currently assigned as the value for the component property being instanced. Used when updating archetypes to ensure that the new instanced component replaces the existing component instance in memory.
Ownerthe object that owns the component property currently being instanced; this is NOT necessarily the object that should be the Outer for the new component.
Flagsreinstancing flags - see EInstancePropertyValueFlags
Returns
As with GetInstancedSubobject, above, but also deals with archetype creation and a few other special cases

◆ IsPropertyInSubobjectExclusionList()

bool FObjectInstancingGraph::IsPropertyInSubobjectExclusionList ( const FProperty Property) const
inline

Checks if a member variable property is in subobject instantiation exclusion list

◆ IsSubobjectInstancingEnabled()

bool FObjectInstancingGraph::IsSubobjectInstancingEnabled ( ) const
inline

Returns whether component instancing is enabled

◆ RetrieveObjectInstances()

void FObjectInstancingGraph::RetrieveObjectInstances ( class UObject SearchOuter,
TArray< class UObject * > &  out_Objects 
)

Retrieves a list of objects that have the specified Outer

Parameters
SearchOuterthe object to retrieve object instances for
out_Componentsreceives the list of objects contained by SearchOuter

◆ SetDestinationRoot()

void FObjectInstancingGraph::SetDestinationRoot ( class UObject DestinationSubobjectRoot,
class UObject InSourceRoot = nullptr 
)

Sets the DestinationRoot for this instancing graph.

Parameters
DestinationSubobjectRootthe top-level object that is being created
InSourceRootArchetype of DestinationSubobjectRoot

◆ SetLoadingObject()

void FObjectInstancingGraph::SetLoadingObject ( bool  bIsLoading)
inline

Sets whether DestinationRoot is currently being loaded from disk.


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