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

#include <MovieScenePropertyTraits.h>

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

Public Types

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

Public Member Functions

bool NeedsMetaData () const
 
virtual TSubclassOf< UMovieSceneTrackGetTrackClass (const FProperty *InProperty) const override
 
virtual bool InitializeTrackFromProperty (UMovieSceneTrack *InTrack, const FProperty *InProperty) const override
 
bool ComputeVariantIndex (const FProperty &InProperty, FVariantPropertyTypeIndex &OutTypeIndex) const
 
bool SupportsProperty (const FProperty &InProperty) const
 
FIntermediatePropertyValue CoercePropertyValue (const FProperty &InProperty, const FSourcePropertyValue &InPropertyValue) const
 
void AddDynamicType (const TDynamicVariantTraitsBase< StorageType > &Variant)
 
void GetObjectPropertyValue (const UObject *InObject, FVariantPropertyTypeIndex VariantTypeIndex, uint16 PropertyOffset, StorageType &OutValue) const
 
void GetObjectPropertyValue (const UObject *InObject, FVariantPropertyTypeIndex VariantTypeIndex, FTrackInstancePropertyBindings *PropertyBindings, StorageType &OutValue) const
 
void SetObjectPropertyValue (UObject *InObject, FVariantPropertyTypeIndex VariantTypeIndex, uint16 PropertyOffset, StorageTypeParam InValue) const
 
void SetObjectPropertyValue (UObject *InObject, FVariantPropertyTypeIndex VariantTypeIndex, FTrackInstancePropertyBindings *PropertyBindings, StorageTypeParam InValue) const
 
- Public Member Functions inherited from UE::MovieScene::IPropertyTraits
virtual ~IPropertyTraits ()
 

Static Public Member Functions

static void UnpackChannels (const InMemoryType &Value, const FProperty &Property, FUnpackedChannelValues &OutUnpackedValues)
 
template<typename ... Composites>
static TVariantPropertyComponentHandler< TraitsType, Composites... > MakeHandler ()
 
static void GetObjectPropertyValue (const UObject *InObject, FVariantPropertyTypeIndex VariantTypeIndex, const FCustomPropertyAccessor &BaseCustomAccessor, StorageType &OutValue)
 
static void SetObjectPropertyValue (UObject *InObject, FVariantPropertyTypeIndex VariantTypeIndex, const FCustomPropertyAccessor &BaseCustomAccessor, StorageTypeParam InValue)
 
template<typename ... T>
static StorageType CombineComposites (FVariantPropertyTypeIndex VariantTypeIndex, T &&... InComposites)
 

Public Attributes

TArray< TDynamicVariantTraitsBase< StorageType > > DynamicTraits
 

Static Public Attributes

static constexpr bool bIsComposite = true
 

Member Typedef Documentation

◆ MetaDataType

◆ PublicMetaData

◆ StaticTraits

template<typename InMemoryType , typename ... UObjectPropertyTypes>
using UE::MovieScene::TDynamicVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::StaticTraits = TVariantPropertyTraits<InMemoryType, UObjectPropertyTypes...>

◆ StorageType

◆ StorageTypeParam

◆ TraitsType

Member Function Documentation

◆ AddDynamicType()

template<typename InMemoryType , typename ... UObjectPropertyTypes>
void UE::MovieScene::TDynamicVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::AddDynamicType ( const TDynamicVariantTraitsBase< StorageType > &  Variant)
inline

◆ CoercePropertyValue()

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

◆ CombineComposites()

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

◆ ComputeVariantIndex()

template<typename InMemoryType , typename ... UObjectPropertyTypes>
bool UE::MovieScene::TDynamicVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::ComputeVariantIndex ( const FProperty InProperty,
FVariantPropertyTypeIndex OutTypeIndex 
) const
inline

◆ GetObjectPropertyValue() [1/3]

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

◆ GetObjectPropertyValue() [2/3]

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

◆ GetObjectPropertyValue() [3/3]

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

◆ GetTrackClass()

template<typename InMemoryType , typename ... UObjectPropertyTypes>
virtual TSubclassOf< UMovieSceneTrack > UE::MovieScene::TDynamicVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::GetTrackClass ( const FProperty InProperty) const
inlineoverridevirtual

Reimplemented from UE::MovieScene::IPropertyTraits.

◆ InitializeTrackFromProperty()

template<typename InMemoryType , typename ... UObjectPropertyTypes>
virtual bool UE::MovieScene::TDynamicVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::InitializeTrackFromProperty ( UMovieSceneTrack InTrack,
const FProperty InProperty 
) const
inlineoverridevirtual

Reimplemented from UE::MovieScene::IPropertyTraits.

◆ MakeHandler()

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

◆ NeedsMetaData()

template<typename InMemoryType , typename ... UObjectPropertyTypes>
bool UE::MovieScene::TDynamicVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::NeedsMetaData ( ) const
inline

◆ SetObjectPropertyValue() [1/3]

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

◆ SetObjectPropertyValue() [2/3]

template<typename InMemoryType , typename ... UObjectPropertyTypes>
void UE::MovieScene::TDynamicVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::SetObjectPropertyValue ( UObject InObject,
FVariantPropertyTypeIndex  VariantTypeIndex,
FTrackInstancePropertyBindings PropertyBindings,
StorageTypeParam  InValue 
) const
inline

◆ SetObjectPropertyValue() [3/3]

template<typename InMemoryType , typename ... UObjectPropertyTypes>
void UE::MovieScene::TDynamicVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::SetObjectPropertyValue ( UObject InObject,
FVariantPropertyTypeIndex  VariantTypeIndex,
uint16  PropertyOffset,
StorageTypeParam  InValue 
) const
inline

◆ SupportsProperty()

template<typename InMemoryType , typename ... UObjectPropertyTypes>
bool UE::MovieScene::TDynamicVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::SupportsProperty ( const FProperty InProperty) const
inline

◆ UnpackChannels()

template<typename InMemoryType , typename ... UObjectPropertyTypes>
static void UE::MovieScene::TDynamicVariantPropertyTraits< 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::TDynamicVariantPropertyTraits< InMemoryType, UObjectPropertyTypes >::bIsComposite = true
staticconstexpr

◆ DynamicTraits


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