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

#include <OverriddenPropertySet.h>

Public Member Functions

 FOverriddenPropertySet ()=default
 
 FOverriddenPropertySet (TNotNull< UObject * > InOwner)
 
UE_API EOverriddenPropertyOperation GetOverriddenPropertyOperation (FPropertyVisitorPath::Iterator PropertyIterator, bool *bOutInheritedOperation=nullptr) const
 
UE_API bool ClearOverriddenProperty (FPropertyVisitorPath::Iterator PropertyIterator)
 
UE_API void OverrideProperty (FPropertyVisitorPath::Iterator PropertyIterator, const void *Data)
 
UE_API void NotifyPropertyChange (const EPropertyNotificationType Notification, FPropertyVisitorPath::Iterator PropertyIterator, const EPropertyChangeType::Type ChangeType, const void *Data)
 
UE_API EOverriddenPropertyOperation GetOverriddenPropertyOperation (const FArchiveSerializedPropertyChain *CurrentPropertyChain, FProperty *Property) const
 
UE_API FOverriddenPropertyNodeRestoreOverriddenPropertyOperation (EOverriddenPropertyOperation Operation, const FArchiveSerializedPropertyChain *CurrentPropertyChain, FProperty *Property)
 
UE_API FOverriddenPropertyNodeConditionallyRestoreOverriddenPropertyOperation (EOverriddenPropertyOperation Operation, const FArchiveSerializedPropertyChain *CurrentPropertyChain, FProperty *Property)
 
UE_API const FOverriddenPropertyNodeGetOverriddenPropertyNode (const FArchiveSerializedPropertyChain *CurrentPropertyChain) const
 
UE_API const FOverriddenPropertyNodeGetOverriddenPropertyNode (const FOverriddenPropertyNodeID &NodeID) const
 
UE_API EOverriddenPropertyOperation GetSubPropertyOperation (const FOverriddenPropertyNodeID &NodeID) const
 
UE_API FOverriddenPropertyNodeRestoreSubPropertyOperation (EOverriddenPropertyOperation Operation, FOverriddenPropertyNode &Node, const FOverriddenPropertyNodeID &NodeID)
 
UE_API FOverriddenPropertyNodeRestoreSubObjectOperation (EOverriddenPropertyOperation Operation, FOverriddenPropertyNode &Node, TNotNull< UObject * > SubObject)
 
UE_API bool IsCDOOwningProperty (const FProperty &Property) const
 
UE_API void Reset (bool bShouldDirtyObject=true)
 
UE_API void HandleObjectsReInstantiated (const TMap< UObject *, UObject * > &Map)
 
UE_API void HandleDeadObjectReferences (const TSet< UObject * > &ActiveInstances, const TSet< UObject * > &TemplateInstances)
 
bool WasAdded () const
 
TObjectPtr< UObjectGetOwner () const
 
UE_API void RestoreOverriddenState (const FOverriddenPropertySet &FromOverriddenProperties)
 

Public Attributes

bool bNeedsSubobjectTemplateInstantiation = false
 

Protected Member Functions

UE_API EOverriddenPropertyOperation GetOverriddenPropertyOperation (const FOverriddenPropertyNode *ParentPropertyNode, FPropertyVisitorPath::Iterator PropertyIterator, bool *bOutInheritedOperation, const void *Data) const
 
UE_API bool ClearOverriddenProperty (FOverriddenPropertyNode &ParentPropertyNode, FPropertyVisitorPath::Iterator PropertyIterator, const void *Data)
 
UE_API void NotifyPropertyChange (FOverriddenPropertyNode *ParentPropertyNode, const EPropertyNotificationType Notification, FPropertyVisitorPath::Iterator PropertyIterator, const EPropertyChangeType::Type ChangeType, const void *Data, bool &bNeedsCleanup)
 
UE_API void NotifyAllPropertyChange (FOverriddenPropertyNode *ParentPropertyNode, const EPropertyNotificationType Notification, const EPropertyChangeType::Type ChangeType, TNotNull< const UStruct * > Struct, const void *Data)
 
UE_API EOverriddenPropertyOperation GetOverriddenPropertyOperation (const FOverriddenPropertyNode *ParentPropertyNode, const FArchiveSerializedPropertyChain *CurrentPropertyChain, FProperty *Property) const
 
UE_API FOverriddenPropertyNodeRestoreOverriddenPropertyOperation (EOverriddenPropertyOperation Operation, FOverriddenPropertyNode &ParentPropertyNode, const FArchiveSerializedPropertyChain *CurrentPropertyChain, FProperty *Property)
 
UE_API const FOverriddenPropertyNodeGetOverriddenPropertyNode (const FOverriddenPropertyNode &ParentPropertyNode, const FArchiveSerializedPropertyChain *CurrentPropertyChain) const
 
UE_API UObjectTryGetInstancedSubObjectValue (const FObjectPropertyBase *FromProperty, const void *ValuePtr) const
 

Constructor & Destructor Documentation

◆ FOverriddenPropertySet() [1/2]

FOverriddenPropertySet::FOverriddenPropertySet ( )
default

◆ FOverriddenPropertySet() [2/2]

FOverriddenPropertySet::FOverriddenPropertySet ( TNotNull< UObject * >  InOwner)
inline

Member Function Documentation

◆ ClearOverriddenProperty() [1/2]

bool FOverriddenPropertySet::ClearOverriddenProperty ( FOverriddenPropertyNode ParentPropertyNode,
FPropertyVisitorPath::Iterator  PropertyIterator,
const void Data 
)
protected

◆ ClearOverriddenProperty() [2/2]

bool FOverriddenPropertySet::ClearOverriddenProperty ( FPropertyVisitorPath::Iterator  PropertyIterator)

Clear any properties from the serialized property chain node

Parameters
PropertyIteratorleading to the property to clear, invalid iterator will clear the overrides on the object itself
Returns
if the operation was successful

◆ ConditionallyRestoreOverriddenPropertyOperation()

FOverriddenPropertyNode * FOverriddenPropertySet::ConditionallyRestoreOverriddenPropertyOperation ( EOverriddenPropertyOperation  Operation,
const FArchiveSerializedPropertyChain CurrentPropertyChain,
FProperty Property 
)

Conditionally restores the overridable operation of the current property from the serialized property chain and the specified property

Note
: This will not restore modified state, has restoring sub properties will do it anyway.
Parameters
Operationto set for this property
CurrentPropertyChainleading to the property being serialized if any, null or empty it will return the node of the object itself
Propertybeing serialized if any, if null it will fallback on the last property of the chain
Returns
the node containing the information of the overridden property

◆ GetOverriddenPropertyNode() [1/3]

const FOverriddenPropertyNode * FOverriddenPropertySet::GetOverriddenPropertyNode ( const FArchiveSerializedPropertyChain CurrentPropertyChain) const

Retrieve the overridden property node from the serialized property chain

Parameters
CurrentPropertyChainleading to the property being serialized if any, null or empty it will return the node of the object itself
Returns
the node containing the information of the overridden property

◆ GetOverriddenPropertyNode() [2/3]

const FOverriddenPropertyNode * FOverriddenPropertySet::GetOverriddenPropertyNode ( const FOverriddenPropertyNode ParentPropertyNode,
const FArchiveSerializedPropertyChain CurrentPropertyChain 
) const
protected

◆ GetOverriddenPropertyNode() [3/3]

const FOverriddenPropertyNode * FOverriddenPropertySet::GetOverriddenPropertyNode ( const FOverriddenPropertyNodeID NodeID) const

◆ GetOverriddenPropertyOperation() [1/4]

EOverriddenPropertyOperation FOverriddenPropertySet::GetOverriddenPropertyOperation ( const FArchiveSerializedPropertyChain CurrentPropertyChain,
FProperty Property 
) const

Retrieve the overridable operation from the specified the serialized property chain and the specified property

Parameters
CurrentPropertyChainleading to the property being serialized if any, null or empty it will return the node of the object itself
Propertybeing serialized if any, if null it will fallback on the last property of the chain
Returns
the current type of override operation on the property

◆ GetOverriddenPropertyOperation() [2/4]

EOverriddenPropertyOperation FOverriddenPropertySet::GetOverriddenPropertyOperation ( const FOverriddenPropertyNode ParentPropertyNode,
const FArchiveSerializedPropertyChain CurrentPropertyChain,
FProperty Property 
) const
protected

◆ GetOverriddenPropertyOperation() [3/4]

EOverriddenPropertyOperation FOverriddenPropertySet::GetOverriddenPropertyOperation ( const FOverriddenPropertyNode ParentPropertyNode,
FPropertyVisitorPath::Iterator  PropertyIterator,
bool bOutInheritedOperation,
const void Data 
) const
protected

◆ GetOverriddenPropertyOperation() [4/4]

EOverriddenPropertyOperation FOverriddenPropertySet::GetOverriddenPropertyOperation ( FPropertyVisitorPath::Iterator  PropertyIterator,
bool bOutInheritedOperation = nullptr 
) const

Retrieve the overridable operation from the specified the edit property chain node

Parameters
PropertyIteratorleading to the property interested in, invalid iterator will return the operation of the object itself
bOutInheritedOperationoptional parameter to know if the state returned was inherited from a parent property
Returns
the current type of override operation on the property

◆ GetOwner()

TObjectPtr< UObject > FOverriddenPropertySet::GetOwner ( ) const
inline

◆ GetSubPropertyOperation()

EOverriddenPropertyOperation FOverriddenPropertySet::GetSubPropertyOperation ( const FOverriddenPropertyNodeID NodeID) const

Retrieve the overridable operation given the property key

Parameters
NodeIDthat uniquely identify the property within the object
Returns
the current type of override operation on the property

◆ HandleDeadObjectReferences()

void FOverriddenPropertySet::HandleDeadObjectReferences ( const TSet< UObject * > &  ActiveInstances,
const TSet< UObject * > &  TemplateInstances 
)

◆ HandleObjectsReInstantiated()

void FOverriddenPropertySet::HandleObjectsReInstantiated ( const TMap< UObject *, UObject * > &  Map)

◆ IsCDOOwningProperty()

bool FOverriddenPropertySet::IsCDOOwningProperty ( const FProperty Property) const

Check if this is an overridden property set of a CDO and that this property is owned by the class of this CDO NOTE: this is used to know if a property should be serialized to keep its default CDO value.

Parameters
Property
Returns

◆ NotifyAllPropertyChange()

void FOverriddenPropertySet::NotifyAllPropertyChange ( FOverriddenPropertyNode ParentPropertyNode,
const EPropertyNotificationType  Notification,
const EPropertyChangeType::Type  ChangeType,
TNotNull< const UStruct * >  Struct,
const void Data 
)
protected

◆ NotifyPropertyChange() [1/2]

void FOverriddenPropertySet::NotifyPropertyChange ( const EPropertyNotificationType  Notification,
FPropertyVisitorPath::Iterator  PropertyIterator,
const EPropertyChangeType::Type  ChangeType,
const void Data 
)

Handling and storing modification on a property of an object

Parameters
Notificationtype either pre/post property overridden
PropertyIteratorleading to the property that is changing, null means it is the object itself that is changing
ChangeTypeof the current operation
Datamemory of the current property

◆ NotifyPropertyChange() [2/2]

void FOverriddenPropertySet::NotifyPropertyChange ( FOverriddenPropertyNode ParentPropertyNode,
const EPropertyNotificationType  Notification,
FPropertyVisitorPath::Iterator  PropertyIterator,
const EPropertyChangeType::Type  ChangeType,
const void Data,
bool bNeedsCleanup 
)
protected

◆ OverrideProperty()

void FOverriddenPropertySet::OverrideProperty ( FPropertyVisitorPath::Iterator  PropertyIterator,
const void Data 
)

Utility methods that call NotifyPropertyChange(Pre/PostEdit)

Parameters
PropertyIteratorleading to the property that is changing, invalid iterator means it is the object itself that is changing
Datamemory of the current property

◆ Reset()

void FOverriddenPropertySet::Reset ( bool  bShouldDirtyObject = true)

Resets all overrides of the object

◆ RestoreOverriddenPropertyOperation() [1/2]

FOverriddenPropertyNode * FOverriddenPropertySet::RestoreOverriddenPropertyOperation ( EOverriddenPropertyOperation  Operation,
const FArchiveSerializedPropertyChain CurrentPropertyChain,
FProperty Property 
)

Restores the overridable operation of the current property from the serialized property chain and the specified property

Parameters
Operationto set for this property
CurrentPropertyChainleading to the property being serialized if any, null or empty it will return the node of the object itself
Propertybeing serialized if any, if null it will fallback on the last property of the chain
Returns
the node containing the information of the overridden property

◆ RestoreOverriddenPropertyOperation() [2/2]

FOverriddenPropertyNode * FOverriddenPropertySet::RestoreOverriddenPropertyOperation ( EOverriddenPropertyOperation  Operation,
FOverriddenPropertyNode ParentPropertyNode,
const FArchiveSerializedPropertyChain CurrentPropertyChain,
FProperty Property 
)
protected

◆ RestoreOverriddenState()

void FOverriddenPropertySet::RestoreOverriddenState ( const FOverriddenPropertySet FromOverriddenProperties)

Restore some of the overridden state that is not necessarily restored by the CPFUO (ex: bWasAdded come from the owner of the object and reinstantiating the object does not preserve it)

Parameters
FromOverriddenPropertiesoverridable properties to restore from

◆ RestoreSubObjectOperation()

FOverriddenPropertyNode * FOverriddenPropertySet::RestoreSubObjectOperation ( EOverriddenPropertyOperation  Operation,
FOverriddenPropertyNode Node,
TNotNull< UObject * >  SubObject 
)

Restores the overridable operation of a sub object of the specified node.

Parameters
Operationto set for this property
Nodefrom where the sub property is owned by
SubObjectof the operation
Returns
the node to the sub property

◆ RestoreSubPropertyOperation()

FOverriddenPropertyNode * FOverriddenPropertySet::RestoreSubPropertyOperation ( EOverriddenPropertyOperation  Operation,
FOverriddenPropertyNode Node,
const FOverriddenPropertyNodeID NodeID 
)

Restores the overridable operation of a sub property of the specified node.

Parameters
Operationto set for this property
Nodefrom where the sub property is owned by
NodeIDthe ID of the sub property
Returns
the node to the sub property

◆ TryGetInstancedSubObjectValue()

UObject * FOverriddenPropertySet::TryGetInstancedSubObjectValue ( const FObjectPropertyBase FromProperty,
const void ValuePtr 
) const
protected

◆ WasAdded()

bool FOverriddenPropertySet::WasAdded ( ) const
inline

Member Data Documentation

◆ bNeedsSubobjectTemplateInstantiation

bool FOverriddenPropertySet::bNeedsSubobjectTemplateInstantiation = false

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