UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PropertyBag.cpp File Reference

Namespaces

namespace  FPropertyBagCustomVersion
 
namespace  UE
 
namespace  UE::StructUtils
 
namespace  UE::StructUtils::Private
 
namespace  UE::StructUtils::Private::Constants
 

Enumerations

enum  FPropertyBagCustomVersion::Type {
  FPropertyBagCustomVersion::BeforeCustomVersionWasAdded = 0 , FPropertyBagCustomVersion::ContainerTypes = 1 , FPropertyBagCustomVersion::NestedContainerTypes = 2 , FPropertyBagCustomVersion::MetaClass = 3 ,
  FPropertyBagCustomVersion::VersionPlusOne , FPropertyBagCustomVersion::LatestVersion = VersionPlusOne - 1
}
 

Functions

bool UE::StructUtils::Private::CanCastTo (const UStruct *From, const UStruct *To)
 
void UE::StructUtils::Private::AppendPropertyDescs (FXxHash64Builder &HashBuilder, const FPropertyBagPropertyDesc &Desc)
 
void UE::StructUtils::Private::AppendPathName (FStringBuilderBase &StringBuilder, const UObject *Object)
 
void UE::StructUtils::Private::AppendValueObjectHash (FXxHash64Builder &HashBuilder, FStringBuilderBase &StringBuilder, const UObject *InValueObject)
 
uint64 UE::StructUtils::Private::CalcPropertyDescArrayHash (const TConstArrayView< FPropertyBagPropertyDesc > Descs)
 
FPropertyBagContainerTypes UE::StructUtils::Private::GetContainerTypesFromProperty (const FProperty *InSourceProperty)
 
EPropertyBagPropertyType UE::StructUtils::Private::GetValueTypeFromProperty (const FProperty *InSourceProperty)
 
const UObjectUE::StructUtils::Private::GetValueTypeObjectFromProperty (const FProperty *InSourceProperty)
 
FPropertyUE::StructUtils::Private::CreatePropertyFromDesc (const FPropertyBagPropertyDesc &Desc, const FFieldVariant PropertyScope)
 
EPropertyBagResult UE::StructUtils::Private::GetPropertyAsInt64 (const FPropertyBagPropertyDesc *Desc, const void *Address, int64 &OutValue)
 
EPropertyBagResult UE::StructUtils::Private::GetPropertyAsUInt64 (const FPropertyBagPropertyDesc *Desc, const void *Address, uint64 &OutValue)
 
EPropertyBagResult UE::StructUtils::Private::GetPropertyAsDouble (const FPropertyBagPropertyDesc *Desc, const void *Address, double &OutValue)
 
template<typename T , typename PropT >
EPropertyBagResult UE::StructUtils::Private::GetPropertyValue (const FPropertyBagPropertyDesc *Desc, const void *Address, T &OutValue)
 
EPropertyBagResult UE::StructUtils::Private::GetPropertyValueAsEnum (const FPropertyBagPropertyDesc *Desc, const UEnum *RequestedEnum, const void *Address, uint8 &OutValue)
 
EPropertyBagResult UE::StructUtils::Private::GetPropertyValueAsStruct (const FPropertyBagPropertyDesc *Desc, const UScriptStruct *RequestedStruct, const void *Address, FStructView &OutValue)
 
EPropertyBagResult UE::StructUtils::Private::GetPropertyValueAsObject (const FPropertyBagPropertyDesc *Desc, const UClass *RequestedClass, const void *Address, UObject *&OutValue)
 
EPropertyBagResult UE::StructUtils::Private::GetPropertyValueAsSoftPath (const FPropertyBagPropertyDesc *Desc, const void *Address, FSoftObjectPath &OutValue)
 
EPropertyBagResult UE::StructUtils::Private::SetPropertyFromInt64 (const FPropertyBagPropertyDesc *Desc, void *Address, const int64 InValue)
 
EPropertyBagResult UE::StructUtils::Private::SetPropertyFromUInt64 (const FPropertyBagPropertyDesc *Desc, void *Address, const uint64 InValue)
 
EPropertyBagResult UE::StructUtils::Private::SetPropertyFromDouble (const FPropertyBagPropertyDesc *Desc, void *Address, const double InValue)
 
template<typename T , typename PropT >
EPropertyBagResult UE::StructUtils::Private::SetPropertyValue (const FPropertyBagPropertyDesc *Desc, void *Address, const T &InValue)
 
EPropertyBagResult UE::StructUtils::Private::SetPropertyValueAsEnum (const FPropertyBagPropertyDesc *Desc, void *Address, const uint8 InValue, const UEnum *Enum)
 
EPropertyBagResult UE::StructUtils::Private::SetPropertyValueAsStruct (const FPropertyBagPropertyDesc *Desc, void *Address, const FConstStructView InValue)
 
EPropertyBagResult UE::StructUtils::Private::SetPropertyValueAsObject (const FPropertyBagPropertyDesc *Desc, void *Address, UObject *InValue)
 
EPropertyBagResult UE::StructUtils::Private::SetPropertyValueAsSoftPath (const FPropertyBagPropertyDesc *Desc, void *Address, const FSoftObjectPath &InPath, const UObject *InObject=nullptr)
 
void UE::StructUtils::Private::CopyMatchingValues (const FConstStructView Source, FStructView Target, TFunctionRef< const FPropertyBagPropertyDesc *(TNotNull< const UPropertyBag * >, const FPropertyBagPropertyDesc &)> FindTargetPropertyFunction)
 
void UE::StructUtils::Private::CopyMatchingValuesByID (const FConstStructView Source, FStructView Target)
 
void UE::StructUtils::Private::CopyMatchingValuesByIDWithOverrides (const FConstStructView Source, FStructView Target, TConstArrayView< FGuid > Overrides)
 
void UE::StructUtils::Private::RemovePropertyByName (TArray< FPropertyBagPropertyDesc > &Descs, const FName PropertyName, const int32 StartIndex=0)
 
EPropertyBagAlterationResult UE::StructUtils::Private::RenameProperty (TArray< FPropertyBagPropertyDesc > &Descs, const FName SourcePropertyName, const FName TargetPropertyName)
 
EPropertyBagAlterationResult UE::StructUtils::Private::ReorderProperty (TArray< FPropertyBagPropertyDesc > &Descs, const int32 SourcePropertyIndex, const int32 TargetPropertyIndex, const bool bInsertBefore)
 
FArchiveoperator<< (FArchive &Ar, FPropertyBagPropertyDesc &Bag)
 

Variables

FCustomVersionRegistration GPropertyBagCustomVersion (FPropertyBagCustomVersion::GUID, FPropertyBagCustomVersion::LatestVersion, TEXT("PropertyBagCustomVersion"))
 
constexpr TCHAR UE::StructUtils::Private::Constants::MinimalInvalidNameCharacters [] = TEXT("\"'/.:&!?~\\\n\r\t@#(){}[]<>=;^%$`")
 
constexpr TCHAR UE::StructUtils::Private::Constants::InvalidNameCharacters [] = TEXT(" \"',/.:|&!?~\\\n\r\t@#(){}[]<>=;^%$`+*")
 

Function Documentation

◆ operator<<()

FArchive & operator<< ( FArchive Ar,
FPropertyBagPropertyDesc Bag 
)

Serializes a PropertyBagPropertyDesc from or into an archive.

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

Variable Documentation

◆ GPropertyBagCustomVersion