UPropertyValueSoftObject

Stores data from a USoftObjectProperty.

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

VariantManagerContent

Header

/Engine/Plugins/Enterprise/VariantManagerContent/Source/VariantManagerContent/Public/PropertyValueSoftObject.h

Include

#include "PropertyValueSoftObject.h"

Syntax

UCLASS(BlueprintType)
class UPropertyValueSoftObject : public UPropertyValue

Remarks

Stores data from a USoftObjectProperty. It will store it's recorded data as a raw UObject*, and use the usual UPropertyValue facilities for serializing it as a Soft object ptr. This derived class handles converting to and from the property's underlying FSoftObjectPtr to our UObject*. We can't keep a FSoftObjectPtr ourselves, neither as a temp member nor as raw bytes, as it has internal heap-allocated data members like FName and FString.

Constructors

Name Description

Public function

UPropertyValueSoftObject

(
    const FObjectInitializer& ObjectIn...
)

Overridden from UPropertyValue

Name Description

Public function Virtual

void

 

ApplyDataToResolvedObject()

Applies our recorded data to the PropertyValuePtr for the resolved object.

Public function Virtual

void

 

ApplyViaFunctionSetter

(
    UObject* TargetObject
)

Applies the recorded data to the TargetObject via the PropertySetter function (e.g. SetIntensity instead of setting the Intensity UPROPERTY directly)

Public function Virtual Const

TArray< uint...

 

GetDataFromResolvedObject()

Fetches the value bytes for this property from the resolved object.

Public function Virtual Const

FFieldClass ...

 

GetPropertyClass()

Returns the type of FProperty (FObjectProperty, FFloatProperty, etc) If checking for Enums, prefer checking if GetEnumPropertyEnum() != nullptr, as it may be that we received a FNumericProperty that actually represents an enum, which wouldn't be reflected here

Public function Virtual Const

int32

 

GetValueSizeInBytes()

Public function Virtual

bool

 

IsRecordedDataCurrent()

Returns true if our recorded data would remain the same if we called RecordDataFromResolvedObject right now

Public function Virtual

void

 

SetRecordedData

(
    const uint8* NewDataBytes,
    int32 NumBytes,
    int32 Offset
)