#pragma once

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

// Package: MotionWarping

#include "Basic.hpp"

#include "CoreUObject_structs.hpp"
#include "CoreUObject_classes.hpp"
#include "MotionWarping_structs.hpp"
#include "Engine_structs.hpp"
#include "Engine_classes.hpp"


SDK_NAMESPACE_START

// Class MotionWarping.MotionWarpingBaseAdapter
// 0x0010 (0x0038 - 0x0028)
class UMotionWarpingBaseAdapter : public UObject
{
public:
	uint8                                         Pad_28[0x10];                                      // 0x0028(0x0010)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MotionWarpingBaseAdapter")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MotionWarpingBaseAdapter")
	}
	static class UMotionWarpingBaseAdapter* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMotionWarpingBaseAdapter>();
	}
};
DUMPER7_ASSERTS_UMotionWarpingBaseAdapter;

// Class MotionWarping.MotionWarpingCharacterAdapter
// 0x0008 (0x0040 - 0x0038)
class UMotionWarpingCharacterAdapter final : public UMotionWarpingBaseAdapter
{
public:
	uint8                                         Pad_38[0x8];                                       // 0x0038(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MotionWarpingCharacterAdapter")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MotionWarpingCharacterAdapter")
	}
	static class UMotionWarpingCharacterAdapter* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMotionWarpingCharacterAdapter>();
	}
};
DUMPER7_ASSERTS_UMotionWarpingCharacterAdapter;

// Class MotionWarping.MotionWarpingSwitchOffCondition
// 0x0020 (0x0048 - 0x0028)
class UMotionWarpingSwitchOffCondition : public UObject
{
public:
	bool                                          bUseWarpTargetAsTargetLocation;                    // 0x0028(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ESwitchOffConditionEffect                     Effect;                                            // 0x0029(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_2A[0x6];                                       // 0x002A(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
	class AActor*                                 OwnerActor;                                        // 0x0030(0x0008)(ZeroConstructor, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected, TObjectPtr)
	class AActor*                                 TargetActor;                                       // 0x0038(0x0008)(ZeroConstructor, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected, TObjectPtr)
	uint8                                         Pad_40[0x8];                                       // 0x0040(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MotionWarpingSwitchOffCondition")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MotionWarpingSwitchOffCondition")
	}
	static class UMotionWarpingSwitchOffCondition* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMotionWarpingSwitchOffCondition>();
	}
};
DUMPER7_ASSERTS_UMotionWarpingSwitchOffCondition;

// Class MotionWarping.MotionWarpingSwitchOffDistanceCondition
// 0x0008 (0x0050 - 0x0048)
class UMotionWarpingSwitchOffDistanceCondition final : public UMotionWarpingSwitchOffCondition
{
public:
	ESwitchOffConditionDistanceOp                 Operator;                                          // 0x0048(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ESwitchOffConditionDistanceAxesType           AxesType;                                          // 0x0049(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_4A[0x2];                                       // 0x004A(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         Distance;                                          // 0x004C(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

public:
	static class UMotionWarpingSwitchOffDistanceCondition* CreateSwitchOffDistanceCondition(class AActor*& InOwnerActor, ESwitchOffConditionEffect InEffect, ESwitchOffConditionDistanceOp InOperator, float InDistance, bool InbUseWarpTargetAsTargetLocation, class AActor* InTargetActor);

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MotionWarpingSwitchOffDistanceCondition")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MotionWarpingSwitchOffDistanceCondition")
	}
	static class UMotionWarpingSwitchOffDistanceCondition* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMotionWarpingSwitchOffDistanceCondition>();
	}
};
DUMPER7_ASSERTS_UMotionWarpingSwitchOffDistanceCondition;

// Class MotionWarping.MotionWarpingSwitchOffAngleToTargetCondition
// 0x0010 (0x0058 - 0x0048)
class UMotionWarpingSwitchOffAngleToTargetCondition final : public UMotionWarpingSwitchOffCondition
{
public:
	ESwitchOffConditionAngleOp                    Operator;                                          // 0x0048(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_49[0x3];                                       // 0x0049(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         Angle;                                             // 0x004C(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          bIgnoreZAxis;                                      // 0x0050(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_51[0x7];                                       // 0x0051(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UMotionWarpingSwitchOffAngleToTargetCondition* CreateSwitchOffAngleToTargetCondition(class AActor*& InOwnerActor, ESwitchOffConditionEffect InEffect, ESwitchOffConditionAngleOp InOperator, float InAngle, bool bInIgnoreZAxis, bool bInUseWarpTargetAsTargetLocation, class AActor* InTargetActor);

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MotionWarpingSwitchOffAngleToTargetCondition")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MotionWarpingSwitchOffAngleToTargetCondition")
	}
	static class UMotionWarpingSwitchOffAngleToTargetCondition* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMotionWarpingSwitchOffAngleToTargetCondition>();
	}
};
DUMPER7_ASSERTS_UMotionWarpingSwitchOffAngleToTargetCondition;

// Class MotionWarping.MotionWarpingSwitchOffCompositeCondition
// 0x0018 (0x0060 - 0x0048)
class UMotionWarpingSwitchOffCompositeCondition final : public UMotionWarpingSwitchOffCondition
{
public:
	class UMotionWarpingSwitchOffCondition*       SwitchOffConditionA;                               // 0x0048(0x0008)(Edit, ExportObject, ZeroConstructor, InstancedReference, NoDestructor, Protected, PersistentInstance, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected, TObjectPtr)
	ESwitchOffConditionCompositeOp                LogicOperator;                                     // 0x0050(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_51[0x7];                                       // 0x0051(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	class UMotionWarpingSwitchOffCondition*       SwitchOffConditionB;                               // 0x0058(0x0008)(Edit, ExportObject, ZeroConstructor, InstancedReference, NoDestructor, Protected, PersistentInstance, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected, TObjectPtr)

public:
	static class UMotionWarpingSwitchOffCompositeCondition* CreateSwitchOffCompositeCondition(class AActor*& InOwnerActor, ESwitchOffConditionEffect InEffect, class UMotionWarpingSwitchOffCondition*& InSwitchOffConditionA, ESwitchOffConditionCompositeOp InLogicOperator, class UMotionWarpingSwitchOffCondition*& InSwitchOffConditionB, bool bInUseWarpTargetAsTargetLocation, class AActor* InTargetActor);

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MotionWarpingSwitchOffCompositeCondition")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MotionWarpingSwitchOffCompositeCondition")
	}
	static class UMotionWarpingSwitchOffCompositeCondition* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMotionWarpingSwitchOffCompositeCondition>();
	}
};
DUMPER7_ASSERTS_UMotionWarpingSwitchOffCompositeCondition;

// Class MotionWarping.MotionWarpingSwitchOffBlueprintableCondition
// 0x0000 (0x0048 - 0x0048)
class UMotionWarpingSwitchOffBlueprintableCondition final : public UMotionWarpingSwitchOffCondition
{
public:
	static class UMotionWarpingSwitchOffBlueprintableCondition* CreateSwitchOffBlueprintableCondition(class AActor*& InOwnerActor, ESwitchOffConditionEffect InEffect, TSubclassOf<class UMotionWarpingSwitchOffBlueprintableCondition> InBlueprintableCondition, bool bInUseWarpTargetAsTargetLocation, class AActor* InTargetActor);

	bool BP_Check(const class AActor* InOwnerActor, const class AActor* InTargetActor, const struct FVector& InTargetLocation, bool bInUseWarpTargetAsTargetLocation) const;
	class FString BP_ExtraDebugInfo(const class AActor* InOwnerActor, const class AActor* InTargetActor, const struct FVector& InTargetLocation, bool bInUseWarpTargetAsTargetLocation) const;

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MotionWarpingSwitchOffBlueprintableCondition")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MotionWarpingSwitchOffBlueprintableCondition")
	}
	static class UMotionWarpingSwitchOffBlueprintableCondition* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMotionWarpingSwitchOffBlueprintableCondition>();
	}
};
DUMPER7_ASSERTS_UMotionWarpingSwitchOffBlueprintableCondition;

// Class MotionWarping.AnimNotifyState_MotionWarping
// 0x0008 (0x0038 - 0x0030)
class UAnimNotifyState_MotionWarping final : public UAnimNotifyState
{
public:
	class URootMotionModifier*                    RootMotionModifier;                                // 0x0030(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, InstancedReference, NoDestructor, PersistentInstance, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)

public:
	class URootMotionModifier* AddRootMotionModifier(class UMotionWarpingComponent* MotionWarpingComp, const class UAnimSequenceBase* Animation, float StartTime, float EndTime) const;
	void OnRootMotionModifierActivate(class UMotionWarpingComponent* MotionWarpingComp, class URootMotionModifier* Modifier) const;
	void OnRootMotionModifierDeactivate(class UMotionWarpingComponent* MotionWarpingComp, class URootMotionModifier* Modifier) const;
	void OnRootMotionModifierUpdate(class UMotionWarpingComponent* MotionWarpingComp, class URootMotionModifier* Modifier) const;
	void OnWarpBegin(class UMotionWarpingComponent* MotionWarpingComp, class URootMotionModifier* Modifier) const;
	void OnWarpEnd(class UMotionWarpingComponent* MotionWarpingComp, class URootMotionModifier* Modifier) const;
	void OnWarpUpdate(class UMotionWarpingComponent* MotionWarpingComp, class URootMotionModifier* Modifier) const;

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("AnimNotifyState_MotionWarping")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"AnimNotifyState_MotionWarping")
	}
	static class UAnimNotifyState_MotionWarping* GetDefaultObj()
	{
		return GetDefaultObjImpl<UAnimNotifyState_MotionWarping>();
	}
};
DUMPER7_ASSERTS_UAnimNotifyState_MotionWarping;

// Class MotionWarping.AttributeBasedRootMotionComponent
// 0x00E8 (0x01A0 - 0x00B8)
class UAttributeBasedRootMotionComponent final : public UActorComponent
{
public:
	bool                                          bEnableRootMotion;                                 // 0x00B8(0x0001)(BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_B9[0x3];                                       // 0x00B9(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	EAttributeBasedRootMotionMode                 Mode;                                              // 0x00BC(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_C0[0x30];                                      // 0x00C0(0x0030)(Fixing Size After Last Property [ Dumper-7 ])
	TWeakObjectPtr<class ACharacter>              CharacterOwner;                                    // 0x00F0(0x0008)(ZeroConstructor, Transient, IsPlainOldData, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_F8[0xA8];                                      // 0x00F8(0x00A8)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("AttributeBasedRootMotionComponent")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"AttributeBasedRootMotionComponent")
	}
	static class UAttributeBasedRootMotionComponent* GetDefaultObj()
	{
		return GetDefaultObjImpl<UAttributeBasedRootMotionComponent>();
	}
};
DUMPER7_ASSERTS_UAttributeBasedRootMotionComponent;

// Class MotionWarping.MotionWarpingUtilities
// 0x0000 (0x0028 - 0x0028)
class UMotionWarpingUtilities final : public UBlueprintFunctionLibrary
{
public:
	static void ExtractBoneTransformFromAnimationAtTime(const class UAnimInstance* AnimInstance, const class UAnimSequenceBase* Animation, float Time, bool bExtractRootMotion, class FName BoneName, bool bLocalSpace, struct FTransform* OutTransform);
	static struct FTransform ExtractRootMotionFromAnimation(const class UAnimSequenceBase* Animation, float StartTime, float EndTime);
	static void GetMotionWarpingWindowsForWarpTargetFromAnimation(const class UAnimSequenceBase* Animation, class FName WarpTargetName, TArray<struct FMotionWarpingWindowData>* OutWindows);
	static void GetMotionWarpingWindowsFromAnimation(const class UAnimSequenceBase* Animation, TArray<struct FMotionWarpingWindowData>* OutWindows);

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MotionWarpingUtilities")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MotionWarpingUtilities")
	}
	static class UMotionWarpingUtilities* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMotionWarpingUtilities>();
	}
};
DUMPER7_ASSERTS_UMotionWarpingUtilities;

// Class MotionWarping.MotionWarpingComponent
// 0x0050 (0x0108 - 0x00B8)
class UMotionWarpingComponent final : public UActorComponent
{
public:
	bool                                          bSearchForWindowsInAnimsWithinMontages;            // 0x00B8(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_B9[0x7];                                       // 0x00B9(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TMulticastInlineDelegate<void(class UMotionWarpingComponent* MotionWarpingComp)> OnPreUpdate;    // 0x00C0(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	class UMotionWarpingBaseAdapter*              OwnerAdapter;                                      // 0x00D0(0x0008)(ZeroConstructor, Transient, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected, TObjectPtr)
	TArray<class URootMotionModifier*>            Modifiers;                                         // 0x00D8(0x0010)(ZeroConstructor, Transient, Protected, UObjectWrapper, NativeAccessSpecifierProtected, TObjectPtr)
	TArray<struct FMotionWarpingTarget>           WarpTargets;                                       // 0x00E8(0x0010)(Net, ZeroConstructor, Transient, ContainsInstancedReference, Protected, NativeAccessSpecifierProtected)
	TArray<struct FSwitchOffConditionData>        SwitchOffConditions;                               // 0x00F8(0x0010)(ZeroConstructor, Transient, Protected, NativeAccessSpecifierProtected)

public:
	void AddOrUpdateWarpTarget(const struct FMotionWarpingTarget& WarpTarget);
	void AddOrUpdateWarpTargetFromComponent(class FName WarpTargetName, const class USceneComponent* Component, class FName BoneName, bool bFollowComponent, EWarpTargetLocationOffsetDirection LocationOffsetDirection, const struct FVector& LocationOffset, const struct FRotator& RotationOffset);
	void AddOrUpdateWarpTargetFromLocation(class FName WarpTargetName, const struct FVector& TargetLocation);
	void AddOrUpdateWarpTargetFromLocationAndRotation(class FName WarpTargetName, const struct FVector& TargetLocation, const struct FRotator& TargetRotation);
	void AddOrUpdateWarpTargetFromTransform(class FName WarpTargetName, const struct FTransform& TargetTransform);
	void AddSwitchOffCondition(class FName WarpTargetName, class UMotionWarpingSwitchOffCondition* Condition);
	void DisableAllRootMotionModifiers();
	int32 RemoveAllWarpTargets();
	int32 RemoveWarpTarget(class FName WarpTargetName);
	int32 RemoveWarpTargets(const TArray<class FName>& WarpTargetNames);

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MotionWarpingComponent")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MotionWarpingComponent")
	}
	static class UMotionWarpingComponent* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMotionWarpingComponent>();
	}
};
DUMPER7_ASSERTS_UMotionWarpingComponent;

// Class MotionWarping.RootMotionModifier
// 0x0138 (0x0160 - 0x0028)
#pragma pack(push, 0x1)
class SDK_ALIGN(0x10) URootMotionModifier : public UObject
{
public:
	TWeakObjectPtr<class UAnimSequenceBase>       Animation;                                         // 0x0028(0x0008)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         StartTime;                                         // 0x0030(0x0004)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         EndTime;                                           // 0x0034(0x0004)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         PreviousPosition;                                  // 0x0038(0x0004)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         CurrentPosition;                                   // 0x003C(0x0004)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         Weight;                                            // 0x0040(0x0004)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         PlayRate;                                          // 0x0044(0x0004)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_48[0x8];                                       // 0x0048(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	struct FTransform                             StartTransform;                                    // 0x0050(0x0060)(BlueprintVisible, BlueprintReadOnly, Transient, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         ActualStartTime;                                   // 0x00B0(0x0004)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Transient, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_B4[0xC];                                       // 0x00B4(0x000C)(Fixing Size After Last Property [ Dumper-7 ])
	struct FTransform                             TotalRootMotionWithinWindow;                       // 0x00C0(0x0060)(BlueprintVisible, BlueprintReadOnly, Transient, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TDelegate<void(class UMotionWarpingComponent* MotionWarpingComp, class URootMotionModifier* RootMotionModifier)> OnActivateDelegate; // 0x0120(0x0010)(ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TDelegate<void(class UMotionWarpingComponent* MotionWarpingComp, class URootMotionModifier* RootMotionModifier)> OnUpdateDelegate; // 0x0130(0x0010)(ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TDelegate<void(class UMotionWarpingComponent* MotionWarpingComp, class URootMotionModifier* RootMotionModifier)> OnDeactivateDelegate; // 0x0140(0x0010)(ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ERootMotionModifierState                      State;                                             // 0x0150(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_151[0x7];                                      // 0x0151(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("RootMotionModifier")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"RootMotionModifier")
	}
	static class URootMotionModifier* GetDefaultObj()
	{
		return GetDefaultObjImpl<URootMotionModifier>();
	}
};
#pragma pack(pop)
DUMPER7_ASSERTS_URootMotionModifier;

// Class MotionWarping.RootMotionModifier_Warp
// 0x01E0 (0x0340 - 0x0160)
#pragma pack(push, 0x1)
class SDK_ALIGN(0x10) URootMotionModifier_Warp : public URootMotionModifier
{
public:
	class FName                                   WarpTargetName;                                    // 0x0158(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, ExposeOnSpawn, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EWarpPointAnimProvider                        WarpPointAnimProvider;                             // 0x0160(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_161[0xF];                                      // 0x0161(0x000F)(Fixing Size After Last Property [ Dumper-7 ])
	struct FTransform                             WarpPointAnimTransform;                            // 0x0170(0x0060)(Edit, BlueprintVisible, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FName                                   WarpPointAnimBoneName;                             // 0x01D0(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bWarpTranslation;                                  // 0x01D8(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bIgnoreZAxis;                                      // 0x01D9(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bWarpToFeetLocation;                               // 0x01DA(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EAlphaBlendOption                             AddTranslationEasingFunc;                          // 0x01DB(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_1DC[0x4];                                      // 0x01DC(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	class UCurveFloat*                            AddTranslationEasingCurve;                         // 0x01E0(0x0008)(Edit, BlueprintVisible, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	bool                                          bWarpRotation;                                     // 0x01E8(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EMotionWarpRotationType                       RotationType;                                      // 0x01E9(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EMotionWarpRotationMethod                     RotationMethod;                                    // 0x01EA(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bSubtractRemainingRootMotion;                      // 0x01EB(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         WarpRotationTimeMultiplier;                        // 0x01EC(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         WarpMaxRotationRate;                               // 0x01F0(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_1F4[0xC];                                      // 0x01F4(0x000C)(Fixing Size After Last Property [ Dumper-7 ])
	struct FTransform                             CachedTargetTransform;                             // 0x0200(0x0060)(IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	struct FTransform                             RootMotionRemainingAfterNotify;                    // 0x0260(0x0060)(IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_2C0[0x78];                                     // 0x02C0(0x0078)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("RootMotionModifier_Warp")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"RootMotionModifier_Warp")
	}
	static class URootMotionModifier_Warp* GetDefaultObj()
	{
		return GetDefaultObjImpl<URootMotionModifier_Warp>();
	}
};
#pragma pack(pop)
DUMPER7_ASSERTS_URootMotionModifier_Warp;

// Class MotionWarping.RootMotionModifier_SimpleWarp
// 0x0000 (0x0340 - 0x0340)
class URootMotionModifier_SimpleWarp final : public URootMotionModifier_Warp
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("RootMotionModifier_SimpleWarp")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"RootMotionModifier_SimpleWarp")
	}
	static class URootMotionModifier_SimpleWarp* GetDefaultObj()
	{
		return GetDefaultObjImpl<URootMotionModifier_SimpleWarp>();
	}
};
DUMPER7_ASSERTS_URootMotionModifier_SimpleWarp;

// Class MotionWarping.RootMotionModifier_Scale
// 0x0010 (0x0170 - 0x0160)
class URootMotionModifier_Scale final : public URootMotionModifier
{
public:
	struct FVector                                Scale;                                             // 0x0158(0x0018)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

public:
	static class URootMotionModifier_Scale* AddRootMotionModifierScale(class UMotionWarpingComponent* InMotionWarpingComp, const class UAnimSequenceBase* InAnimation, float InStartTime, float InEndTime, const struct FVector& InScale);

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("RootMotionModifier_Scale")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"RootMotionModifier_Scale")
	}
	static class URootMotionModifier_Scale* GetDefaultObj()
	{
		return GetDefaultObjImpl<URootMotionModifier_Scale>();
	}
};
DUMPER7_ASSERTS_URootMotionModifier_Scale;

// Class MotionWarping.RootMotionModifier_AdjustmentBlendWarp
// 0x0150 (0x0490 - 0x0340)
class URootMotionModifier_AdjustmentBlendWarp final : public URootMotionModifier_Warp
{
public:
	bool                                          bWarpIKBones;                                      // 0x0338(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_339[0x7];                                      // 0x0339(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<class FName>                           IKBones;                                           // 0x0340(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)
	struct FTransform                             CachedMeshTransform;                               // 0x0350(0x0060)(IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	struct FTransform                             CachedMeshRelativeTransform;                       // 0x03B0(0x0060)(IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	struct FTransform                             CachedRootMotion;                                  // 0x0410(0x0060)(IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	struct FAnimSequenceTrackContainer            Result;                                            // 0x0470(0x0020)(Protected, NativeAccessSpecifierProtected)

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("RootMotionModifier_AdjustmentBlendWarp")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"RootMotionModifier_AdjustmentBlendWarp")
	}
	static class URootMotionModifier_AdjustmentBlendWarp* GetDefaultObj()
	{
		return GetDefaultObjImpl<URootMotionModifier_AdjustmentBlendWarp>();
	}
};
DUMPER7_ASSERTS_URootMotionModifier_AdjustmentBlendWarp;

// Class MotionWarping.RootMotionModifier_SkewWarp
// 0x0000 (0x0340 - 0x0340)
class URootMotionModifier_SkewWarp final : public URootMotionModifier_Warp
{
public:
	float                                         MaxSpeedClampRatio;                                // 0x0338(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_33C[0x4];                                      // 0x033C(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class URootMotionModifier_SkewWarp* AddRootMotionModifierSkewWarp(class UMotionWarpingComponent* InMotionWarpingComp, const class UAnimSequenceBase* InAnimation, float InStartTime, float InEndTime, class FName InWarpTargetName, EWarpPointAnimProvider InWarpPointAnimProvider, const struct FTransform& InWarpPointAnimTransform, class FName InWarpPointAnimBoneName, bool bInWarpTranslation, bool bInIgnoreZAxis, bool bInWarpRotation, EMotionWarpRotationType InRotationType, EMotionWarpRotationMethod InRotationMethod, float InWarpRotationTimeMultiplier, float InWarpMaxRotationRate);

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("RootMotionModifier_SkewWarp")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"RootMotionModifier_SkewWarp")
	}
	static class URootMotionModifier_SkewWarp* GetDefaultObj()
	{
		return GetDefaultObjImpl<URootMotionModifier_SkewWarp>();
	}
};
DUMPER7_ASSERTS_URootMotionModifier_SkewWarp;

SDK_NAMESPACE_END
