UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
CustomAttributes.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "UObject/NameTypes.h"
7#include "Misc/Variant.h"
9#include "BoneIndices.h"
10#include "Templates/Tuple.h"
11#include "Curves/StringCurve.h"
13#include "Curves/SimpleCurve.h"
14
15#include "CustomAttributes.generated.h"
16
25
26USTRUCT()
28{
30
31
32 UPROPERTY(EditAnywhere, Category = CustomAttributeSetting)
33 FString Name;
34
36 UPROPERTY(EditAnywhere, Category = CustomAttributeSetting)
37 FString Meaning;
38};
39
43USTRUCT()
45{
47
48
49 UPROPERTY(EditAnywhere, Category = TimecodeCustomAttributeNameSettings)
50 FName HourAttributeName;
51
53 UPROPERTY(EditAnywhere, Category = TimecodeCustomAttributeNameSettings)
54 FName MinuteAttributeName;
55
57 UPROPERTY(EditAnywhere, Category = TimecodeCustomAttributeNameSettings)
58 FName SecondAttributeName;
59
61 UPROPERTY(EditAnywhere, Category = TimecodeCustomAttributeNameSettings)
62 FName FrameAttributeName;
63
66 UPROPERTY(EditAnywhere, Category = TimecodeCustomAttributeNameSettings)
67 FName SubframeAttributeName;
68
72 UPROPERTY(EditAnywhere, Category = TimecodeCustomAttributeNameSettings)
73 FName RateAttributeName;
74
76 UPROPERTY(EditAnywhere, Category = TimecodeCustomAttributeNameSettings)
77 FName TakenameAttributeName;
78};
79
80struct UE_DEPRECATED(5.0, "FCustomAttribute has been deprecated") FCustomAttribute;
83{
85
86#if WITH_EDITORONLY_DATA
88 UPROPERTY(VisibleAnywhere, Category = CustomAttribute)
89 FName Name;
90
92 UPROPERTY(VisibleAnywhere, Category = CustomAttribute)
93 int32 VariantType = 0;
94
96 UPROPERTY(VisibleAnywhere, Category = CustomAttributeBoneData)
97 TArray<float> Times;
98
100 TArray<FVariant> Values;
101
102 bool Serialize(FArchive& Ar)
103 {
104 Ar << Name;
105 Ar << VariantType;
106 Ar << Times;
107 Ar << Values;
108
109 return true;
110 }
111#endif // WITH_EDITORONLY_DATA
112};
113
114#if WITH_EDITORONLY_DATA
116// Custom serializer required for FVariant array
117template<>
118struct TStructOpsTypeTraits<FCustomAttribute> : public TStructOpsTypeTraitsBase2<FCustomAttribute>
119{
120 enum
121 {
122 WithSerializer = true
123 };
124};
126#endif // WITH_EDITORONLY_DATA
127
129struct UE_DEPRECATED(5.0, "FCustomAttributePerBoneData has been deprecated") FCustomAttributePerBoneData;
130
133{
135
136#if WITH_EDITORONLY_DATA
137 UPROPERTY(VisibleAnywhere, Category = CustomAttributeBoneData)
138 int32 BoneTreeIndex = 0;
139
141 UPROPERTY(VisibleAnywhere, EditFixedSize, Category = CustomAttributeBoneData)
142 TArray<FCustomAttribute> Attributes;
144#endif // WITH_EDITORONLY_DATA
145};
146
148struct UE_DEPRECATED(5.0, "FBakedStringCustomAttribute has been deprecated") FBakedStringCustomAttribute;
149
152{
154
155#if WITH_EDITORONLY_DATA
156 UPROPERTY(VisibleAnywhere, Category = CustomAttributeBoneData)
157 FName AttributeName;
158
159 UPROPERTY(VisibleAnywhere, Category = CustomAttributeBoneData)
160 FStringCurve StringCurve;
161#endif // WITH_EDITORONLY_DATA
162};
163
165struct UE_DEPRECATED(5.0, "FBakedIntegerCustomAttribute has been deprecated") FBakedIntegerCustomAttribute;
166
169{
171
172#if WITH_EDITORONLY_DATA
173 UPROPERTY(VisibleAnywhere, Category = CustomAttributeBoneData)
174 FName AttributeName;
175
176 UPROPERTY(VisibleAnywhere, Category = CustomAttributeBoneData)
178#endif // WITH_EDITORONLY_DATA
179};
180
182struct UE_DEPRECATED(5.0, "FBakedFloatCustomAttribute has been deprecated") FBakedFloatCustomAttribute;
183
186{
188
189#if WITH_EDITORONLY_DATA
190 UPROPERTY(VisibleAnywhere, Category = CustomAttributeBoneData)
191 FName AttributeName;
192
193 UPROPERTY(VisibleAnywhere, Category = CustomAttributeBoneData)
194 FSimpleCurve FloatCurve;
195#endif // WITH_EDITORONLY_DATA
196};
197
199struct UE_DEPRECATED(5.0, "FBakedCustomAttributePerBoneData has been deprecated") FBakedCustomAttributePerBoneData;
200
203{
205
206#if WITH_EDITORONLY_DATA
207 UPROPERTY()
208 int32 BoneTreeIndex = 0;
209
211 UPROPERTY(VisibleAnywhere, EditFixedSize, Category = CustomAttributeBoneData)
213
214 UPROPERTY(VisibleAnywhere, EditFixedSize, Category = CustomAttributeBoneData)
216
217 UPROPERTY(VisibleAnywhere, EditFixedSize, Category = CustomAttributeBoneData)
220#endif // WITH_EDITORONLY_DATA
221};
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ECustomAttributeBlendType
Definition CustomAttributes.h:19
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition Archive.h:1208
Definition NameTypes.h:617
Definition Array.h:670
Definition RobinHoodHashTable.h:18
Definition CustomAttributes.h:203
Definition CustomAttributes.h:186
Definition CustomAttributes.h:169
Definition CustomAttributes.h:152
Definition CustomAttributes.h:133
Definition CustomAttributes.h:28
Definition CustomAttributes.h:83
Definition IntegralCurve.h:38
Definition SimpleCurve.h:71
Definition StringCurve.h:76
Definition CustomAttributes.h:45
Definition StructOpsTypeTraits.h:11
@ WithSerializer
Definition StructOpsTypeTraits.h:23
Definition StructOpsTypeTraits.h:46