Navigation
API > API/Plugins > API/Plugins/VariantManagerContent
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.
| Name | UPropertyValueSoftObject |
| Type | class |
| Header File | /Engine/Plugins/Enterprise/VariantManagerContent/Source/VariantManagerContent/Public/PropertyValueSoftObject.h |
| Include Path | #include "PropertyValueSoftObject.h" |
Syntax
UCLASS (MinimalAPI, BlueprintType)
class UPropertyValueSoftObject : public UPropertyValue
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UPropertyValue → UPropertyValueSoftObject
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UPropertyValueSoftObject
(
const FObjectInitializer& ObjectInitializer |
PropertyValueSoftObject.h |
Functions
Public
Overridden from UPropertyValue
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void ApplyDataToResolvedObject() |
Applies our recorded data to the PropertyValuePtr for the resolved object. | PropertyValueSoftObject.h | |
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) | PropertyValueSoftObject.h | |
virtual TArray< uint8 > GetDataFromResolvedObject() |
Fetches the value bytes for this property from the resolved object. | PropertyValueSoftObject.h | |
virtual 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 | PropertyValueSoftObject.h | |
virtual int32 GetValueSizeInBytes() |
PropertyValueSoftObject.h | ||
virtual bool IsRecordedDataCurrent() |
Returns true if our recorded data would remain the same if we called RecordDataFromResolvedObject right now | PropertyValueSoftObject.h | |
virtual void SetRecordedData
(
const uint8* NewDataBytes, |
PropertyValueSoftObject.h |