#pragma once

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

// Package: GLTFExporter

#include "Basic.hpp"

#include "GLTFExporter_structs.hpp"
#include "Engine_structs.hpp"
#include "Engine_classes.hpp"
#include "CoreUObject_classes.hpp"


SDK_NAMESPACE_START

// Class GLTFExporter.GLTFExportOptions
// 0x0088 (0x00B0 - 0x0028)
class UGLTFExportOptions final : public UObject
{
public:
	float                                         ExportUniformScale;                                // 0x0028(0x0004)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bExportPreviewMesh;                                // 0x002C(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bSkipNearDefaultValues;                            // 0x002D(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bIncludeCopyrightNotice;                           // 0x002E(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bExportProxyMaterials;                             // 0x002F(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bUseImporterMaterialMapping;                       // 0x0030(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bExportUnlitMaterials;                             // 0x0031(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bExportClearCoatMaterials;                         // 0x0032(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bExportClothMaterials;                             // 0x0033(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bExportThinTranslucentMaterials;                   // 0x0034(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bExportSpecularGlossinessMaterials;                // 0x0035(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bExportEmissiveStrength;                           // 0x0036(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EGLTFMaterialBakeMode                         BakeMaterialInputs;                                // 0x0037(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FGLTFMaterialBakeSize                  DefaultMaterialBakeSize;                           // 0x0038(0x000C)(Edit, BlueprintVisible, Config, NoDestructor, NativeAccessSpecifierPublic)
	ETextureFilter                                DefaultMaterialBakeFilter;                         // 0x0044(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ETextureAddress                               DefaultMaterialBakeTiling;                         // 0x0045(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_46[0x2];                                       // 0x0046(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	TMap<EGLTFMaterialPropertyGroup, struct FGLTFOverrideMaterialBakeSettings> DefaultInputBakeSettings; // 0x0048(0x0050)(Edit, BlueprintVisible, Config, NativeAccessSpecifierPublic)
	int32                                         DefaultLevelOfDetail;                              // 0x0098(0x0004)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bExportSourceModel;                                // 0x009C(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bExportVertexColors;                               // 0x009D(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bExportVertexSkinWeights;                          // 0x009E(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bMakeSkinnedMeshesRoot;                            // 0x009F(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bUseMeshQuantization;                              // 0x00A0(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bExportLevelSequences;                             // 0x00A1(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bExportAnimationSequences;                         // 0x00A2(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EGLTFTextureImageFormat                       TextureImageFormat;                                // 0x00A3(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         TextureImageQuality;                               // 0x00A4(0x0004)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bExportTextureTransforms;                          // 0x00A8(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bExportLightmaps;                                  // 0x00A9(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bAdjustNormalmaps;                                 // 0x00AA(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bExportHiddenInGame;                               // 0x00AB(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bExportLights;                                     // 0x00AC(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bExportCameras;                                    // 0x00AD(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EGLTFMaterialVariantMode                      ExportMaterialVariants;                            // 0x00AE(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_AF[0x1];                                       // 0x00AF(0x0001)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void ResetToDefault();

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

// Class GLTFExporter.GLTFExporter
// 0x0000 (0x0078 - 0x0078)
class UGLTFExporter : public UExporter
{
public:
	static bool ExportToGLTF(class UObject* Object, const class FString& FilePath, const class UGLTFExportOptions* Options, const TSet<class AActor*>& SelectedActors, struct FGLTFExportMessages* OutMessages);

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

// Class GLTFExporter.GLTFAnimSequenceExporter
// 0x0000 (0x0078 - 0x0078)
class UGLTFAnimSequenceExporter final : public UGLTFExporter
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("GLTFAnimSequenceExporter")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"GLTFAnimSequenceExporter")
	}
	static class UGLTFAnimSequenceExporter* GetDefaultObj()
	{
		return GetDefaultObjImpl<UGLTFAnimSequenceExporter>();
	}
};
DUMPER7_ASSERTS_UGLTFAnimSequenceExporter;

// Class GLTFExporter.GLTFLevelExporter
// 0x0000 (0x0078 - 0x0078)
class UGLTFLevelExporter final : public UGLTFExporter
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("GLTFLevelExporter")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"GLTFLevelExporter")
	}
	static class UGLTFLevelExporter* GetDefaultObj()
	{
		return GetDefaultObjImpl<UGLTFLevelExporter>();
	}
};
DUMPER7_ASSERTS_UGLTFLevelExporter;

// Class GLTFExporter.GLTFLevelSequenceExporter
// 0x0000 (0x0078 - 0x0078)
class UGLTFLevelSequenceExporter final : public UGLTFExporter
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("GLTFLevelSequenceExporter")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"GLTFLevelSequenceExporter")
	}
	static class UGLTFLevelSequenceExporter* GetDefaultObj()
	{
		return GetDefaultObjImpl<UGLTFLevelSequenceExporter>();
	}
};
DUMPER7_ASSERTS_UGLTFLevelSequenceExporter;

// Class GLTFExporter.GLTFLevelVariantSetsExporter
// 0x0000 (0x0078 - 0x0078)
class UGLTFLevelVariantSetsExporter final : public UGLTFExporter
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("GLTFLevelVariantSetsExporter")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"GLTFLevelVariantSetsExporter")
	}
	static class UGLTFLevelVariantSetsExporter* GetDefaultObj()
	{
		return GetDefaultObjImpl<UGLTFLevelVariantSetsExporter>();
	}
};
DUMPER7_ASSERTS_UGLTFLevelVariantSetsExporter;

// Class GLTFExporter.GLTFMaterialExporter
// 0x0000 (0x0078 - 0x0078)
class UGLTFMaterialExporter final : public UGLTFExporter
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("GLTFMaterialExporter")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"GLTFMaterialExporter")
	}
	static class UGLTFMaterialExporter* GetDefaultObj()
	{
		return GetDefaultObjImpl<UGLTFMaterialExporter>();
	}
};
DUMPER7_ASSERTS_UGLTFMaterialExporter;

// Class GLTFExporter.GLTFSkeletalMeshExporter
// 0x0000 (0x0078 - 0x0078)
class UGLTFSkeletalMeshExporter final : public UGLTFExporter
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("GLTFSkeletalMeshExporter")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"GLTFSkeletalMeshExporter")
	}
	static class UGLTFSkeletalMeshExporter* GetDefaultObj()
	{
		return GetDefaultObjImpl<UGLTFSkeletalMeshExporter>();
	}
};
DUMPER7_ASSERTS_UGLTFSkeletalMeshExporter;

// Class GLTFExporter.GLTFStaticMeshExporter
// 0x0000 (0x0078 - 0x0078)
class UGLTFStaticMeshExporter final : public UGLTFExporter
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("GLTFStaticMeshExporter")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"GLTFStaticMeshExporter")
	}
	static class UGLTFStaticMeshExporter* GetDefaultObj()
	{
		return GetDefaultObjImpl<UGLTFStaticMeshExporter>();
	}
};
DUMPER7_ASSERTS_UGLTFStaticMeshExporter;

// Class GLTFExporter.GLTFProxyOptions
// 0x0068 (0x0090 - 0x0028)
class UGLTFProxyOptions final : public UObject
{
public:
	bool                                          bBakeMaterialInputs;                               // 0x0028(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bUseThinTranslucentShadingModel;                   // 0x0029(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_2A[0x2];                                       // 0x002A(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGLTFMaterialBakeSize                  DefaultMaterialBakeSize;                           // 0x002C(0x000C)(Edit, BlueprintVisible, Config, NoDestructor, NativeAccessSpecifierPublic)
	ETextureFilter                                DefaultMaterialBakeFilter;                         // 0x0038(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ETextureAddress                               DefaultMaterialBakeTiling;                         // 0x0039(0x0001)(Edit, BlueprintVisible, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_3A[0x6];                                       // 0x003A(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
	TMap<EGLTFMaterialPropertyGroup, struct FGLTFOverrideMaterialBakeSettings> DefaultInputBakeSettings; // 0x0040(0x0050)(Edit, BlueprintVisible, Config, NativeAccessSpecifierPublic)

public:
	void ResetToDefault();

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

// Class GLTFExporter.GLTFMaterialExportOptions
// 0x0070 (0x0098 - 0x0028)
class UGLTFMaterialExportOptions final : public UAssetUserData
{
public:
	class UMaterialInterface*                     Proxy;                                             // 0x0028(0x0008)(Edit, BlueprintVisible, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	struct FGLTFOverrideMaterialBakeSettings      Default;                                           // 0x0030(0x0014)(Edit, BlueprintVisible, NoDestructor, NativeAccessSpecifierPublic)
	uint8                                         Pad_44[0x4];                                       // 0x0044(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TMap<EGLTFMaterialPropertyGroup, struct FGLTFOverrideMaterialBakeSettings> Inputs;               // 0x0048(0x0050)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)

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

SDK_NAMESPACE_END
