UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::MovieScene::TVariantPropertyTraits< InMemoryType, UObjectPropertyTypes > Struct Template Reference

#include <MovieScenePropertyTraits.h>

+ Inheritance diagram for UE::MovieScene::TVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >:

Public Types

using StorageType = InMemoryType
 
using StorageTypeParam = typename TCallTraits< StorageType >::ParamType
 
using MetaDataType = TPropertyMetaData< FVariantPropertyTypeIndex >
 
using PublicMetaData = TPropertyMetaData<>
 
using TraitsType = TVariantPropertyTraits< StorageType, UObjectPropertyTypes... >
 
- Public Types inherited from UE::MovieScene::IPropertyTraits
using MetaDataType = TPropertyMetaData<>
 

Static Public Member Functions

static bool SupportsProperty (const FProperty &InProperty)
 
static bool ComputeVariantIndex (const FProperty &Property, FVariantPropertyTypeIndex &OutTypeIndex)
 
static FIntermediatePropertyValue CoercePropertyValue (const FProperty &InProperty, const FSourcePropertyValue &InPropertyValue)
 
static FIntermediatePropertyValue CoercePropertyValueChecked (const FProperty &InProperty, FVariantPropertyTypeIndex VariantIndex, const FSourcePropertyValue &InPropertyValue)
 
static void UnpackChannels (const InMemoryType &Value, const FProperty &Property, FUnpackedChannelValues &OutUnpackedValues)
 
template<typename ... Composites>
static TVariantPropertyComponentHandler< TraitsType, Composites... > MakeHandler ()
 
static bool NeedsMetaData ()
 
static void GetObjectPropertyValue (const UObject *InObject, FVariantPropertyTypeIndex VariantTypeIndex, const FCustomPropertyAccessor &BaseCustomAccessor, StorageType &OutValue)
 
static void GetObjectPropertyValue (const UObject *InObject, FVariantPropertyTypeIndex VariantTypeIndex, uint16 PropertyOffset, StorageType &OutValue)
 
static void GetObjectPropertyValue (const UObject *InObject, FVariantPropertyTypeIndex VariantTypeIndex, FTrackInstancePropertyBindings *PropertyBindings, StorageType &OutValue)
 
static void SetObjectPropertyValue (UObject *InObject, FVariantPropertyTypeIndex VariantTypeIndex, const FCustomPropertyAccessor &BaseCustomAccessor, StorageTypeParam InValue)
 
static void SetObjectPropertyValue (UObject *InObject, FVariantPropertyTypeIndex VariantTypeIndex, uint16 PropertyOffset, StorageTypeParam InValue)
 
static void SetObjectPropertyValue (UObject *InObject, FVariantPropertyTypeIndex VariantTypeIndex, FTrackInstancePropertyBindings *PropertyBindings, StorageTypeParam InValue)
 
template<typename ... T>
static StorageType CombineComposites (FVariantPropertyTypeIndex VariantTypeIndex, T &&... InComposites)
 

Static Public Attributes

static constexpr int32 CompileTimeNum = sizeof...(UObjectPropertyTypes)
 
static constexpr bool bIsComposite = true
 

Additional Inherited Members

- Public Member Functions inherited from UE::MovieScene::IPropertyTraits
virtual ~IPropertyTraits ()
 
virtual TSubclassOf< UMovieSceneTrackGetTrackClass (const FProperty *InProperty) const
 
virtual bool InitializeTrackFromProperty (UMovieSceneTrack *InTrack, const FProperty *InProperty) const
 

Member Typedef Documentation

◆ MetaDataType

◆ PublicMetaData

◆ StorageType

◆ StorageTypeParam

template<typename InMemoryType , typename ... UObjectPropertyTypes>
using UE::MovieScene::TVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::StorageTypeParam = typename TCallTraits<StorageType>::ParamType

◆ TraitsType

template<typename InMemoryType , typename ... UObjectPropertyTypes>
using UE::MovieScene::TVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::TraitsType = TVariantPropertyTraits<StorageType, UObjectPropertyTypes...>

Member Function Documentation

◆ CoercePropertyValue()

template<typename InMemoryType , typename ... UObjectPropertyTypes>
static FIntermediatePropertyValue UE::MovieScene::TVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::CoercePropertyValue ( const FProperty InProperty,
const FSourcePropertyValue InPropertyValue 
)
inlinestatic

◆ CoercePropertyValueChecked()

template<typename InMemoryType , typename ... UObjectPropertyTypes>
static FIntermediatePropertyValue UE::MovieScene::TVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::CoercePropertyValueChecked ( const FProperty InProperty,
FVariantPropertyTypeIndex  VariantIndex,
const FSourcePropertyValue InPropertyValue 
)
inlinestatic

◆ CombineComposites()

template<typename InMemoryType , typename ... UObjectPropertyTypes>
template<typename ... T>
static StorageType UE::MovieScene::TVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::CombineComposites ( FVariantPropertyTypeIndex  VariantTypeIndex,
T &&...  InComposites 
)
inlinestatic

◆ ComputeVariantIndex()

template<typename InMemoryType , typename ... UObjectPropertyTypes>
static bool UE::MovieScene::TVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::ComputeVariantIndex ( const FProperty Property,
FVariantPropertyTypeIndex OutTypeIndex 
)
inlinestatic

◆ GetObjectPropertyValue() [1/3]

template<typename InMemoryType , typename ... UObjectPropertyTypes>
static void UE::MovieScene::TVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::GetObjectPropertyValue ( const UObject InObject,
FVariantPropertyTypeIndex  VariantTypeIndex,
const FCustomPropertyAccessor BaseCustomAccessor,
StorageType OutValue 
)
inlinestatic

◆ GetObjectPropertyValue() [2/3]

template<typename InMemoryType , typename ... UObjectPropertyTypes>
static void UE::MovieScene::TVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::GetObjectPropertyValue ( const UObject InObject,
FVariantPropertyTypeIndex  VariantTypeIndex,
FTrackInstancePropertyBindings PropertyBindings,
StorageType OutValue 
)
inlinestatic

◆ GetObjectPropertyValue() [3/3]

template<typename InMemoryType , typename ... UObjectPropertyTypes>
static void UE::MovieScene::TVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::GetObjectPropertyValue ( const UObject InObject,
FVariantPropertyTypeIndex  VariantTypeIndex,
uint16  PropertyOffset,
StorageType OutValue 
)
inlinestatic

◆ MakeHandler()

template<typename InMemoryType , typename ... UObjectPropertyTypes>
template<typename ... Composites>
static TVariantPropertyComponentHandler< TraitsType, Composites... > UE::MovieScene::TVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::MakeHandler ( )
inlinestatic

◆ NeedsMetaData()

template<typename InMemoryType , typename ... UObjectPropertyTypes>
static bool UE::MovieScene::TVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::NeedsMetaData ( )
inlinestatic

◆ SetObjectPropertyValue() [1/3]

template<typename InMemoryType , typename ... UObjectPropertyTypes>
static void UE::MovieScene::TVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::SetObjectPropertyValue ( UObject InObject,
FVariantPropertyTypeIndex  VariantTypeIndex,
const FCustomPropertyAccessor BaseCustomAccessor,
StorageTypeParam  InValue 
)
inlinestatic

◆ SetObjectPropertyValue() [2/3]

template<typename InMemoryType , typename ... UObjectPropertyTypes>
static void UE::MovieScene::TVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::SetObjectPropertyValue ( UObject InObject,
FVariantPropertyTypeIndex  VariantTypeIndex,
FTrackInstancePropertyBindings PropertyBindings,
StorageTypeParam  InValue 
)
inlinestatic

◆ SetObjectPropertyValue() [3/3]

template<typename InMemoryType , typename ... UObjectPropertyTypes>
static void UE::MovieScene::TVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::SetObjectPropertyValue ( UObject InObject,
FVariantPropertyTypeIndex  VariantTypeIndex,
uint16  PropertyOffset,
StorageTypeParam  InValue 
)
inlinestatic

◆ SupportsProperty()

template<typename InMemoryType , typename ... UObjectPropertyTypes>
static bool UE::MovieScene::TVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::SupportsProperty ( const FProperty InProperty)
inlinestatic

◆ UnpackChannels()

template<typename InMemoryType , typename ... UObjectPropertyTypes>
static void UE::MovieScene::TVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::UnpackChannels ( const InMemoryType Value,
const FProperty Property,
FUnpackedChannelValues OutUnpackedValues 
)
inlinestatic

Member Data Documentation

◆ bIsComposite

template<typename InMemoryType , typename ... UObjectPropertyTypes>
constexpr bool UE::MovieScene::TVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::bIsComposite = true
staticconstexpr

◆ CompileTimeNum

template<typename InMemoryType , typename ... UObjectPropertyTypes>
constexpr int32 UE::MovieScene::TVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::CompileTimeNum = sizeof...(UObjectPropertyTypes)
staticconstexpr

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