#pragma once

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

// Package: MM

#include "Basic.hpp"

#include "CoreUObject_structs.hpp"
#include "Engine_structs.hpp"


namespace SDK
{

// Enum MM.EAnimSeqAssetLoadStatType
// NumValues: 0x0005
enum class EAnimSeqAssetLoadStatType : uint8
{
	INVALID                                  = 0,
	UNLOAD                                   = 1,
	LOADING                                  = 2,
	LOADED                                   = 3,
	EAnimSeqAssetLoadStatType_MAX            = 4,
};

// ScriptStruct MM.DefaultMotionJointData
// 0x0020 (0x0020 - 0x0000)
struct FDefaultMotionJointData final
{
public:
	TArray<struct FVector>                        JointLocation;                                     // 0x0000(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)
	TArray<struct FVector>                        JointVelocity;                                     // 0x0010(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FDefaultMotionJointData;

// ScriptStruct MM.MotionMatchData
// 0x0018 (0x0018 - 0x0000)
struct FMotionMatchData final
{
public:
	TArray<struct FTransform>                     SelectedSkeletonBoneTransforms;                    // 0x0000(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)
	class FName                                   ElectedSourceReference;                            // 0x0010(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FMotionMatchData;

// ScriptStruct MM.PlayerDirectionInput
// 0x0070 (0x0070 - 0x0000)
struct FPlayerDirectionInput final
{
public:
	struct FTransform                             CurrentRefTransform;                               // 0x0000(0x0060)(Edit, BlueprintVisible, IsPlainOldData, NoDestructor, NativeAccessSpecifierPublic)
	float                                         AllowedTimeOffset;                                 // 0x0060(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_64[0xC];                                       // 0x0064(0x000C)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FPlayerDirectionInput;

// ScriptStruct MM.InputPlayerDirectionData
// 0x0028 (0x0028 - 0x0000)
struct FInputPlayerDirectionData final
{
public:
	TArray<struct FPlayerDirectionInput>          DirectionalPointsArray;                            // 0x0000(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)
	struct FVector                                FinishVector;                                      // 0x0010(0x0018)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FInputPlayerDirectionData;

// ScriptStruct MM.SkeletonStructure
// 0x0030 (0x0030 - 0x0000)
struct FSkeletonStructure final
{
public:
	struct FVector                                BoneTransformPosition;                             // 0x0000(0x0018)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                BoneTransformVelocity;                             // 0x0018(0x0018)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FSkeletonStructure;

// ScriptStruct MM.MatchResults
// 0x0050 (0x0050 - 0x0000)
struct FMatchResults final
{
public:
	struct FInputPlayerDirectionData              PlayersInputData;                                  // 0x0000(0x0028)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
	struct FInputPlayerDirectionData              PlayersPredictedInputData;                         // 0x0028(0x0028)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FMatchResults;

// ScriptStruct MM.MotionAnim
// 0x0020 (0x0020 - 0x0000)
struct FMotionAnim final
{
public:
	class UAnimationAnalyzer*                     AnimationAnalyzer;                                 // 0x0000(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         AnimIndex;                                         // 0x0008(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         position;                                          // 0x000C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         AllowedMotionTransitionTime;                       // 0x0010(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         Limit;                                             // 0x0014(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          LimitOfOperation;                                  // 0x0018(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_19[0x7];                                       // 0x0019(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FMotionAnim;

// ScriptStruct MM.MMForLMAnimGraph
// 0x0288 (0x02C0 - 0x0038)
struct FMMForLMAnimGraph final : public FAnimNode_AssetPlayerBase
{
public:
	struct FDefaultMotionJointData                DefaultMotionJointData;                            // 0x0038(0x0020)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
	struct FVector                                DefaultVelocity;                                   // 0x0058(0x0018)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UAnimationAnalyzer*                     AnimationAnalyzer;                                 // 0x0070(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FPoseLink                              AnimationPose;                                     // 0x0078(0x0010)(Edit, BlueprintVisible, NoDestructor, NativeAccessSpecifierPublic)
	uint8                                         Pad_88[0x8];                                       // 0x0088(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	struct FTransform                             InputDesiredTransform;                             // 0x0090(0x0060)(Edit, BlueprintVisible, IsPlainOldData, NoDestructor, NativeAccessSpecifierPublic)
	struct FTransform                             InputRootTransform;                                // 0x00F0(0x0060)(Edit, BlueprintVisible, IsPlainOldData, NoDestructor, NativeAccessSpecifierPublic)
	float                                         InputStrength;                                     // 0x0150(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         PlayRate;                                          // 0x0154(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         BlendTime;                                         // 0x0158(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         TimeBetweenBlends;                                 // 0x015C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bRecordAnimData;                                   // 0x0160(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bKeepInputUnchanged;                               // 0x0161(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_162[0x16];                                     // 0x0162(0x0016)(Fixing Size After Last Property [ Dumper-7 ])
	int32                                         CurrentAnimationReferencesIndex;                   // 0x0178(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	int32                                         WorldTimer;                                        // 0x017C(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	float                                         ReferenceMMTimer;                                  // 0x0180(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          bAllowLooping;                                     // 0x0184(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_185[0x123];                                    // 0x0185(0x0123)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FMotionAnim>                    MotionMatchAnimationsRef;                          // 0x02A8(0x0010)(ZeroConstructor, NativeAccessSpecifierPrivate)
	uint8                                         Pad_2B8[0x8];                                      // 0x02B8(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FMMForLMAnimGraph;

// ScriptStruct MM.MotionMatchingAnimGraph
// 0x0218 (0x0250 - 0x0038)
struct FMotionMatchingAnimGraph final : public FAnimNode_AssetPlayerBase
{
public:
	struct FDefaultMotionJointData                DefaultMotionJointData;                            // 0x0038(0x0020)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
	struct FVector                                DefaultVelocity;                                   // 0x0058(0x0018)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UAnimationAnalyzer*                     AnimationAnalyzer;                                 // 0x0070(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FPoseLink                              AnimationPose;                                     // 0x0078(0x0010)(Edit, BlueprintVisible, NoDestructor, NativeAccessSpecifierPublic)
	uint8                                         Pad_88[0x8];                                       // 0x0088(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	struct FTransform                             InputDesiredTransform;                             // 0x0090(0x0060)(Edit, BlueprintVisible, IsPlainOldData, NoDestructor, NativeAccessSpecifierPublic)
	struct FTransform                             InputRootTransform;                                // 0x00F0(0x0060)(Edit, BlueprintVisible, IsPlainOldData, NoDestructor, NativeAccessSpecifierPublic)
	float                                         InputStrength;                                     // 0x0150(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         PlayRate;                                          // 0x0154(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         BlendTime;                                         // 0x0158(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         TimeBetweenBlends;                                 // 0x015C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bRecordAnimData;                                   // 0x0160(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bDisableMMRootMotion;                              // 0x0161(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_162[0x16];                                     // 0x0162(0x0016)(Fixing Size After Last Property [ Dumper-7 ])
	int32                                         CurrentAnimationReferencesIndex;                   // 0x0178(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	int32                                         WorldTimer;                                        // 0x017C(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	float                                         ReferenceMMTimer;                                  // 0x0180(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          bAllowLooping;                                     // 0x0184(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_185[0xBB];                                     // 0x0185(0x00BB)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FMotionAnim>                    MotionMatchAnimationsRef;                          // 0x0240(0x0010)(ZeroConstructor, NativeAccessSpecifierPrivate)
};
DUMPER7_ASSERTS_FMotionMatchingAnimGraph;

// ScriptStruct MM.MotionMatchingCostData
// 0x0010 (0x0010 - 0x0000)
struct alignas(0x08) FMotionMatchingCostData final
{
public:
	uint8                                         Pad_0[0x10];                                       // 0x0000(0x0010)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FMotionMatchingCostData;

// ScriptStruct MM.MMKDTreeNode
// 0x0028 (0x0028 - 0x0000)
struct FMMKDTreeNode final
{
public:
	TArray<int32>                                 AnimRefIndex;                                      // 0x0000(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	int32                                         SplitIndex;                                        // 0x0010(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         Median;                                            // 0x0014(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         LeftIndex;                                         // 0x0018(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         RightIndex;                                        // 0x001C(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         ParentIndex;                                       // 0x0020(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_24[0x4];                                       // 0x0024(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FMMKDTreeNode;

// ScriptStruct MM.MotionMatchingMath
// 0x0080 (0x0080 - 0x0000)
struct FMotionMatchingMath final
{
public:
	int32                                         SrcAnimIndex;                                      // 0x0000(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         StartTime;                                         // 0x0004(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         SequenceLength;                                    // 0x0008(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_C[0x4];                                        // 0x000C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<float>                                 SerializedFeatures;                                // 0x0010(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NativeAccessSpecifierPublic)
	uint8                                         Pad_20[0x60];                                      // 0x0020(0x0060)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FMotionMatchingMath;

// ScriptStruct MM.MotionMatchingAnimSeqdata
// 0x0028 (0x0028 - 0x0000)
struct FMotionMatchingAnimSeqdata final
{
public:
	class UAnimSequence*                          AnimationInMemory;                                 // 0x0000(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FSoftObjectPath                        AnimationSoftPath;                                 // 0x0008(0x0018)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EAnimSeqAssetLoadStatType                     AnimationsAssetLoadStat;                           // 0x0020(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_21[0x7];                                       // 0x0021(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FMotionMatchingAnimSeqdata;

}

