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

#include <MovieScenePropertyTraits.h>

+ Inheritance diagram for UE::MovieScene::TPropertyTraits< UObjectPropertyType, InMemoryType, bInIsComposite >:

Public Types

using TraitsType = TPropertyTraits< UObjectPropertyType, InMemoryType, bInIsComposite >
 
using StorageType = InMemoryType
 
using StorageTypeParam = typename TCallTraits< StorageType >::ParamType
 
- Public Types inherited from UE::MovieScene::IPropertyTraits
using MetaDataType = TPropertyMetaData<>
 

Static Public Member Functions

static FORCEINLINE bool SupportsProperty (const FProperty &InProperty)
 
static FORCEINLINE FIntermediatePropertyValue CoercePropertyValue (const FProperty &InProperty, const FSourcePropertyValue &InPropertyValue)
 
static FORCEINLINE void UnpackChannels (const InMemoryType &Value, const FProperty &Property, FUnpackedChannelValues &OutUnpackedValues)
 
static FORCEINLINE void GetObjectPropertyValue (const UObject *InObject, const FCustomPropertyAccessor &BaseCustomAccessor, StorageType &OutValue)
 
static FORCEINLINE void GetObjectPropertyValue (const UObject *InObject, uint16 PropertyOffset, StorageType &OutValue)
 
static FORCEINLINE void GetObjectPropertyValue (const UObject *InObject, FTrackInstancePropertyBindings *PropertyBindings, StorageType &OutValue)
 
static FORCEINLINE void GetObjectPropertyValue (const UObject *InObject, const FName &PropertyPath, StorageType &OutValue)
 
static FORCEINLINE void SetObjectPropertyValue (UObject *InObject, const FCustomPropertyAccessor &BaseCustomAccessor, StorageTypeParam InValue)
 
static FORCEINLINE void SetObjectPropertyValue (UObject *InObject, uint16 PropertyOffset, StorageTypeParam InValue)
 
static FORCEINLINE void SetObjectPropertyValue (UObject *InObject, FTrackInstancePropertyBindings *PropertyBindings, StorageTypeParam InValue)
 
template<typename ... T>
static FORCEINLINE StorageType CombineComposites (T &&... InComposites)
 

Static Public Attributes

static constexpr bool bIsComposite = bInIsComposite
 
static constexpr bool bNeedsConversion = !std::is_same_v<InMemoryType, UObjectPropertyType>
 

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
 

Detailed Description

template<typename UObjectPropertyType, typename InMemoryType, bool bInIsComposite = true>
struct UE::MovieScene::TPropertyTraits< UObjectPropertyType, InMemoryType, bInIsComposite >

Property accessor traits that talk directly to the reflected UObject property type

Member Typedef Documentation

◆ StorageType

◆ StorageTypeParam

◆ TraitsType

Member Function Documentation

◆ CoercePropertyValue()

template<typename UObjectPropertyType , typename InMemoryType , bool bInIsComposite = true>
static FORCEINLINE FIntermediatePropertyValue UE::MovieScene::TPropertyTraits< UObjectPropertyType, InMemoryType, bInIsComposite >::CoercePropertyValue ( const FProperty InProperty,
const FSourcePropertyValue InPropertyValue 
)
inlinestatic

◆ CombineComposites()

template<typename UObjectPropertyType , typename InMemoryType , bool bInIsComposite = true>
template<typename ... T>
static FORCEINLINE StorageType UE::MovieScene::TPropertyTraits< UObjectPropertyType, InMemoryType, bInIsComposite >::CombineComposites ( T &&...  InComposites)
inlinestatic

◆ GetObjectPropertyValue() [1/4]

template<typename UObjectPropertyType , typename InMemoryType , bool bInIsComposite = true>
static FORCEINLINE void UE::MovieScene::TPropertyTraits< UObjectPropertyType, InMemoryType, bInIsComposite >::GetObjectPropertyValue ( const UObject InObject,
const FCustomPropertyAccessor BaseCustomAccessor,
StorageType OutValue 
)
inlinestatic

Property Value Getters

◆ GetObjectPropertyValue() [2/4]

template<typename UObjectPropertyType , typename InMemoryType , bool bInIsComposite = true>
static FORCEINLINE void UE::MovieScene::TPropertyTraits< UObjectPropertyType, InMemoryType, bInIsComposite >::GetObjectPropertyValue ( const UObject InObject,
const FName PropertyPath,
StorageType OutValue 
)
inlinestatic

◆ GetObjectPropertyValue() [3/4]

template<typename UObjectPropertyType , typename InMemoryType , bool bInIsComposite = true>
static FORCEINLINE void UE::MovieScene::TPropertyTraits< UObjectPropertyType, InMemoryType, bInIsComposite >::GetObjectPropertyValue ( const UObject InObject,
FTrackInstancePropertyBindings PropertyBindings,
StorageType OutValue 
)
inlinestatic

◆ GetObjectPropertyValue() [4/4]

template<typename UObjectPropertyType , typename InMemoryType , bool bInIsComposite = true>
static FORCEINLINE void UE::MovieScene::TPropertyTraits< UObjectPropertyType, InMemoryType, bInIsComposite >::GetObjectPropertyValue ( const UObject InObject,
uint16  PropertyOffset,
StorageType OutValue 
)
inlinestatic

◆ SetObjectPropertyValue() [1/3]

template<typename UObjectPropertyType , typename InMemoryType , bool bInIsComposite = true>
static FORCEINLINE void UE::MovieScene::TPropertyTraits< UObjectPropertyType, InMemoryType, bInIsComposite >::SetObjectPropertyValue ( UObject InObject,
const FCustomPropertyAccessor BaseCustomAccessor,
StorageTypeParam  InValue 
)
inlinestatic

Property Value Setters

◆ SetObjectPropertyValue() [2/3]

template<typename UObjectPropertyType , typename InMemoryType , bool bInIsComposite = true>
static FORCEINLINE void UE::MovieScene::TPropertyTraits< UObjectPropertyType, InMemoryType, bInIsComposite >::SetObjectPropertyValue ( UObject InObject,
FTrackInstancePropertyBindings PropertyBindings,
StorageTypeParam  InValue 
)
inlinestatic

◆ SetObjectPropertyValue() [3/3]

template<typename UObjectPropertyType , typename InMemoryType , bool bInIsComposite = true>
static FORCEINLINE void UE::MovieScene::TPropertyTraits< UObjectPropertyType, InMemoryType, bInIsComposite >::SetObjectPropertyValue ( UObject InObject,
uint16  PropertyOffset,
StorageTypeParam  InValue 
)
inlinestatic

◆ SupportsProperty()

template<typename UObjectPropertyType , typename InMemoryType , bool bInIsComposite = true>
static FORCEINLINE bool UE::MovieScene::TPropertyTraits< UObjectPropertyType, InMemoryType, bInIsComposite >::SupportsProperty ( const FProperty InProperty)
inlinestatic

IPropertyTraits interface

◆ UnpackChannels()

template<typename UObjectPropertyType , typename InMemoryType , bool bInIsComposite = true>
static FORCEINLINE void UE::MovieScene::TPropertyTraits< UObjectPropertyType, InMemoryType, bInIsComposite >::UnpackChannels ( const InMemoryType Value,
const FProperty Property,
FUnpackedChannelValues OutUnpackedValues 
)
inlinestatic

Member Data Documentation

◆ bIsComposite

◆ bNeedsConversion


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