#pragma once

/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/

// Package: ChaosCaching

#include "Basic.hpp"

#include "CoreUObject_structs.hpp"
#include "Engine_structs.hpp"
#include "MovieSceneTracks_structs.hpp"
#include "MovieScene_structs.hpp"


SDK_NAMESPACE_START

// Enum ChaosCaching.EChaosCacheInterpolationMode
// NumValues: 0x0004
enum class EChaosCacheInterpolationMode : uint8
{
	QuatInterp                               = 0,
	EulerInterp                              = 1,
	DualQuatInterp                           = 2,
	EChaosCacheInterpolationMode_MAX         = 3,
};

// Enum ChaosCaching.ECacheMode
// NumValues: 0x0004
enum class ECacheMode : uint8
{
	None                                     = 0,
	Play                                     = 1,
	Record                                   = 2,
	ECacheMode_MAX                           = 3,
};

// Enum ChaosCaching.EStartMode
// NumValues: 0x0003
enum class EStartMode : uint8
{
	Timed                                    = 0,
	Triggered                                = 1,
	EStartMode_MAX                           = 2,
};

// ScriptStruct ChaosCaching.CacheEventBase
// 0x0008 (0x0008 - 0x0000)
struct alignas(0x08) FCacheEventBase
{
public:
	uint8                                         Pad_0[0x8];                                        // 0x0000(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FCacheEventBase;

// ScriptStruct ChaosCaching.EnableStateEvent
// 0x0008 (0x0010 - 0x0008)
struct FEnableStateEvent final : public FCacheEventBase
{
public:
	int32                                         Index;                                             // 0x0008(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bEnable;                                           // 0x000C(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_D[0x3];                                        // 0x000D(0x0003)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FEnableStateEvent;

// ScriptStruct ChaosCaching.BreakingEvent
// 0x00B8 (0x00C0 - 0x0008)
struct FBreakingEvent final : public FCacheEventBase
{
public:
	int32                                         Index;                                             // 0x0008(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_C[0x4];                                        // 0x000C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	struct FVector                                Location;                                          // 0x0010(0x0018)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_28[0x8];                                       // 0x0028(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	struct FQuat                                  Orientation;                                       // 0x0030(0x0020)(IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                Velocity;                                          // 0x0050(0x0018)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                AngularVelocity;                                   // 0x0068(0x0018)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         Mass;                                              // 0x0080(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_84[0x4];                                       // 0x0084(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	struct FVector                                BoundingBoxMin;                                    // 0x0088(0x0018)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                BoundingBoxMax;                                    // 0x00A0(0x0018)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_B8[0x8];                                       // 0x00B8(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FBreakingEvent;

// ScriptStruct ChaosCaching.CollisionEvent
// 0x00E8 (0x00F0 - 0x0008)
struct FCollisionEvent final : public FCacheEventBase
{
public:
	struct FVector                                Location;                                          // 0x0008(0x0018)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                AccumulatedImpulse;                                // 0x0020(0x0018)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                Normal;                                            // 0x0038(0x0018)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                Velocity1;                                         // 0x0050(0x0018)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                Velocity2;                                         // 0x0068(0x0018)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                DeltaVelocity1;                                    // 0x0080(0x0018)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                DeltaVelocity2;                                    // 0x0098(0x0018)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                AngularVelocity1;                                  // 0x00B0(0x0018)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                AngularVelocity2;                                  // 0x00C8(0x0018)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         Mass1;                                             // 0x00E0(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         Mass2;                                             // 0x00E4(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         PenetrationDepth;                                  // 0x00E8(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_EC[0x4];                                       // 0x00EC(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FCollisionEvent;

// ScriptStruct ChaosCaching.TrailingEvent
// 0x00A8 (0x00B0 - 0x0008)
struct FTrailingEvent final : public FCacheEventBase
{
public:
	int32                                         Index;                                             // 0x0008(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_C[0x4];                                        // 0x000C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	struct FVector                                Location;                                          // 0x0010(0x0018)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_28[0x8];                                       // 0x0028(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	struct FQuat                                  Orientation;                                       // 0x0030(0x0020)(IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                Velocity;                                          // 0x0050(0x0018)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                AngularVelocity;                                   // 0x0068(0x0018)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                BoundingBoxMin;                                    // 0x0080(0x0018)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                BoundingBoxMax;                                    // 0x0098(0x0018)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FTrailingEvent;

// ScriptStruct ChaosCaching.CacheEventTrack
// 0x0038 (0x0038 - 0x0000)
struct FCacheEventTrack final
{
public:
	class FName                                   Name;                                              // 0x0000(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UScriptStruct*                          Struct;                                            // 0x0008(0x0008)(ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	TArray<float>                                 TimeStamps;                                        // 0x0010(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	uint8                                         Pad_20[0x18];                                      // 0x0020(0x0018)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FCacheEventTrack;

// ScriptStruct ChaosCaching.ObservedComponent
// 0x0180 (0x0180 - 0x0000)
struct alignas(0x10) FObservedComponent final
{
public:
	class FName                                   CacheName;                                         // 0x0000(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FComponentReference                    ComponentRef;                                      // 0x0008(0x0028)(HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FSoftComponentReference                SoftComponentRef;                                  // 0x0030(0x0048)(Edit, BlueprintVisible, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bIsSimulating;                                     // 0x0078(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bPlaybackEnabled;                                  // 0x0079(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_7A[0x6];                                       // 0x007A(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
	struct FDirectoryPath                         USDCacheDirectory;                                 // 0x0080(0x0010)(Edit, BlueprintVisible, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_90[0xF0];                                      // 0x0090(0x00F0)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FObservedComponent;

// ScriptStruct ChaosCaching.ParticleTransformTrack
// 0x0048 (0x0048 - 0x0000)
struct FParticleTransformTrack final
{
public:
	struct FRawAnimSequenceTrack                  RawTransformTrack;                                 // 0x0000(0x0030)(NativeAccessSpecifierPublic)
	float                                         BeginOffset;                                       // 0x0030(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bDeactivateOnEnd;                                  // 0x0034(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_35[0x3];                                       // 0x0035(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<float>                                 KeyTimestamps;                                     // 0x0038(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FParticleTransformTrack;

// ScriptStruct ChaosCaching.PerParticleCacheData
// 0x0098 (0x0098 - 0x0000)
struct FPerParticleCacheData final
{
public:
	struct FParticleTransformTrack                TransformData;                                     // 0x0000(0x0048)(NativeAccessSpecifierPublic)
	TMap<class FName, struct FRichCurve>          CurveData;                                         // 0x0048(0x0050)(NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FPerParticleCacheData;

// ScriptStruct ChaosCaching.CacheSpawnableTemplate
// 0x00D0 (0x00D0 - 0x0000)
struct FCacheSpawnableTemplate final
{
public:
	class UObject*                                DuplicatedTemplate;                                // 0x0000(0x0008)(Edit, ZeroConstructor, EditConst, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	uint8                                         Pad_8[0x8];                                        // 0x0008(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	struct FTransform                             InitialTransform;                                  // 0x0010(0x0060)(Edit, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FTransform                             ComponentTransform;                                // 0x0070(0x0060)(Edit, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FCacheSpawnableTemplate;

// ScriptStruct ChaosCaching.RichCurves
// 0x0010 (0x0010 - 0x0000)
struct FRichCurves final
{
public:
	TArray<struct FRichCurve>                     RichCurves;                                        // 0x0000(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FRichCurves;

// ScriptStruct ChaosCaching.CompressedRichCurves
// 0x0010 (0x0010 - 0x0000)
struct FCompressedRichCurves final
{
public:
	TArray<struct FCompressedRichCurve>           CompressedRichCurves;                              // 0x0000(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FCompressedRichCurves;

// ScriptStruct ChaosCaching.MovieSceneChaosCacheParams
// 0x0008 (0x0028 - 0x0020)
struct FMovieSceneChaosCacheParams final : public FMovieSceneBaseCacheParams
{
public:
	class UChaosCacheCollection*                  CacheCollection;                                   // 0x0020(0x0008)(Edit, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
};
DUMPER7_ASSERTS_FMovieSceneChaosCacheParams;

// ScriptStruct ChaosCaching.MovieSceneChaosCacheSectionTemplateParameters
// 0x0028 (0x0030 - 0x0008)
struct FMovieSceneChaosCacheSectionTemplateParameters final : public FMovieSceneBaseCacheSectionTemplateParameters
{
public:
	struct FMovieSceneChaosCacheParams            ChaosCacheParams;                                  // 0x0008(0x0028)(NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FMovieSceneChaosCacheSectionTemplateParameters;

// ScriptStruct ChaosCaching.MovieSceneChaosCacheSectionTemplate
// 0x0030 (0x0050 - 0x0020)
struct FMovieSceneChaosCacheSectionTemplate final : public FMovieSceneEvalTemplate
{
public:
	struct FMovieSceneChaosCacheSectionTemplateParameters Params;                                    // 0x0020(0x0030)(NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FMovieSceneChaosCacheSectionTemplate;

SDK_NAMESPACE_END
