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

#include <PropertyBag.h>

Public Member Functions

 FPropertyBagPropertyDesc ()=default
 
UE_API FPropertyBagPropertyDesc (const FName InName, const FProperty *InSourceProperty)
 
 FPropertyBagPropertyDesc (const FName InName, const EPropertyBagPropertyType InValueType, const UObject *InValueTypeObject=nullptr)
 
 FPropertyBagPropertyDesc (const FName InName, const EPropertyBagContainerType InContainerType, const EPropertyBagPropertyType InValueType, const UObject *InValueTypeObject=nullptr, EPropertyFlags InPropertyFlags=CPF_Edit)
 
 FPropertyBagPropertyDesc (const FName InName, const FPropertyBagContainerTypes &InNestedContainers, const EPropertyBagPropertyType InValueType, UObject *InValueTypeObject=nullptr, EPropertyFlags InPropertyFlags=CPF_Edit)
 
UE_API bool CompatibleType (const FPropertyBagPropertyDesc &Other) const
 
UE_API bool IsNumericType () const
 
UE_API bool IsUnsignedNumericType () const
 
UE_API bool IsNumericFloatType () const
 
UE_API bool IsObjectType () const
 
UE_API bool IsClassType () const
 
int32 GetCachedIndex () const
 
UE_API bool operator== (const FPropertyBagPropertyDesc &OtherDesc) const
 

Public Attributes

TObjectPtr< const UObjectValueTypeObject = nullptr
 
FGuid ID
 
FName Name
 
EPropertyBagPropertyType ValueType = EPropertyBagPropertyType::None
 
FPropertyBagContainerTypes ContainerTypes
 
uint64 PropertyFlags = (uint64)CPF_Edit
 
const FPropertyCachedProperty = nullptr
 

Friends

class UPropertyBag
 
UE_API friend FArchiveoperator<< (FArchive &Ar, FPropertyBagPropertyDesc &Desc)
 

Detailed Description

Describes a property in the property bag.

Constructor & Destructor Documentation

◆ FPropertyBagPropertyDesc() [1/5]

FPropertyBagPropertyDesc::FPropertyBagPropertyDesc ( )
default

◆ FPropertyBagPropertyDesc() [2/5]

FPropertyBagPropertyDesc::FPropertyBagPropertyDesc ( const FName  InName,
const FProperty InSourceProperty 
)

◆ FPropertyBagPropertyDesc() [3/5]

FPropertyBagPropertyDesc::FPropertyBagPropertyDesc ( const FName  InName,
const EPropertyBagPropertyType  InValueType,
const UObject InValueTypeObject = nullptr 
)
inline

◆ FPropertyBagPropertyDesc() [4/5]

FPropertyBagPropertyDesc::FPropertyBagPropertyDesc ( const FName  InName,
const EPropertyBagContainerType  InContainerType,
const EPropertyBagPropertyType  InValueType,
const UObject InValueTypeObject = nullptr,
EPropertyFlags  InPropertyFlags = CPF_Edit 
)
inline

◆ FPropertyBagPropertyDesc() [5/5]

FPropertyBagPropertyDesc::FPropertyBagPropertyDesc ( const FName  InName,
const FPropertyBagContainerTypes InNestedContainers,
const EPropertyBagPropertyType  InValueType,
UObject InValueTypeObject = nullptr,
EPropertyFlags  InPropertyFlags = CPF_Edit 
)
inline

Member Function Documentation

◆ CompatibleType()

bool FPropertyBagPropertyDesc::CompatibleType ( const FPropertyBagPropertyDesc Other) const
Returns
true if the two descriptors have the same type. Object types are compatible if Other can be cast to this type.

◆ GetCachedIndex()

int32 FPropertyBagPropertyDesc::GetCachedIndex ( ) const
inline
Returns
index of the property after constructed in the bag

◆ IsClassType()

bool FPropertyBagPropertyDesc::IsClassType ( ) const
Returns
true if the property type is class or soft class

◆ IsNumericFloatType()

bool FPropertyBagPropertyDesc::IsNumericFloatType ( ) const
Returns
true if the property type is floating point numeric (float, double)

◆ IsNumericType()

bool FPropertyBagPropertyDesc::IsNumericType ( ) const
Returns
true if the property type is numeric (bool, (u)int32, (u)int64, float, double, enum)

◆ IsObjectType()

bool FPropertyBagPropertyDesc::IsObjectType ( ) const
Returns
true if the property type is object or soft object

◆ IsUnsignedNumericType()

bool FPropertyBagPropertyDesc::IsUnsignedNumericType ( ) const
Returns
true if the property type is unsigned (uint32, uint64)

◆ operator==()

bool FPropertyBagPropertyDesc::operator== ( const FPropertyBagPropertyDesc OtherDesc) const
Returns
true if the property bag's unique IDs match

Friends And Related Symbol Documentation

◆ operator<<

UE_API friend FArchive & operator<< ( FArchive Ar,
FPropertyBagPropertyDesc Desc 
)
friend

Serializes a PropertyBagPropertyDesc from or into an archive.

Parameters
ArThe archive to serialize from or into.
DescThe PropertyBagPropertyDesc to serialize.

◆ UPropertyBag

friend class UPropertyBag
friend

Member Data Documentation

◆ CachedProperty

const FProperty* FPropertyBagPropertyDesc::CachedProperty = nullptr

Cached property pointer, set in UPropertyBag::GetOrCreateFromDescs.

◆ ContainerTypes

FPropertyBagContainerTypes FPropertyBagPropertyDesc::ContainerTypes

Type of the container described by this property.

◆ ID

FGuid FPropertyBagPropertyDesc::ID

Unique ID for this property. Used as main identifier when copying values over.

◆ Name

FName FPropertyBagPropertyDesc::Name

Name for the property.

◆ PropertyFlags

uint64 FPropertyBagPropertyDesc::PropertyFlags = (uint64)CPF_Edit

Flags that will get copied over to this property. uint64 since EPropertyFlags is not UEnum

◆ ValueType

EPropertyBagPropertyType FPropertyBagPropertyDesc::ValueType = EPropertyBagPropertyType::None

Type of the value described by this property.

◆ ValueTypeObject

TObjectPtr<const UObject> FPropertyBagPropertyDesc::ValueTypeObject = nullptr

Pointer to object that defines the Enum, Struct, or Class.


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