#pragma once

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

// Package: Foliage

#include "Basic.hpp"

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


namespace SDK
{

// Class Foliage.InteractiveFoliageActor
// 0x0060 (0x03A0 - 0x0340)
class AInteractiveFoliageActor final : public AStaticMeshActor
{
public:
	class UCapsuleComponent*                      CapsuleComponent;                                  // 0x0340(0x0008)(ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	struct FVector                                TouchingActorEntryPosition;                        // 0x0348(0x000C)(ZeroConstructor, Transient, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	struct FVector                                FoliageVelocity;                                   // 0x0354(0x000C)(ZeroConstructor, Transient, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	struct FVector                                FoliageForce;                                      // 0x0360(0x000C)(ZeroConstructor, Transient, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	struct FVector                                FoliagePosition;                                   // 0x036C(0x000C)(ZeroConstructor, Transient, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	float                                         FoliageDamageImpulseScale;                         // 0x0378(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         FoliageTouchImpulseScale;                          // 0x037C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         FoliageStiffness;                                  // 0x0380(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         FoliageStiffnessQuadratic;                         // 0x0384(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         FoliageDamping;                                    // 0x0388(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         MaxDamageImpulse;                                  // 0x038C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         MaxTouchImpulse;                                   // 0x0390(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         MaxForce;                                          // 0x0394(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         Mass;                                              // 0x0398(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_39C[0x4];                                      // 0x039C(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void CapsuleTouched(class UPrimitiveComponent* OverlappedComp, class AActor* Other, class UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const struct FHitResult& OverlapInfo);

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"InteractiveFoliageActor">();
	}
	static class AInteractiveFoliageActor* GetDefaultObj()
	{
		return GetDefaultObjImpl<AInteractiveFoliageActor>();
	}
};
static_assert(alignof(AInteractiveFoliageActor) == 0x000008, "Wrong alignment on AInteractiveFoliageActor");
static_assert(sizeof(AInteractiveFoliageActor) == 0x0003A0, "Wrong size on AInteractiveFoliageActor");
static_assert(offsetof(AInteractiveFoliageActor, CapsuleComponent) == 0x000340, "Member 'AInteractiveFoliageActor::CapsuleComponent' has a wrong offset!");
static_assert(offsetof(AInteractiveFoliageActor, TouchingActorEntryPosition) == 0x000348, "Member 'AInteractiveFoliageActor::TouchingActorEntryPosition' has a wrong offset!");
static_assert(offsetof(AInteractiveFoliageActor, FoliageVelocity) == 0x000354, "Member 'AInteractiveFoliageActor::FoliageVelocity' has a wrong offset!");
static_assert(offsetof(AInteractiveFoliageActor, FoliageForce) == 0x000360, "Member 'AInteractiveFoliageActor::FoliageForce' has a wrong offset!");
static_assert(offsetof(AInteractiveFoliageActor, FoliagePosition) == 0x00036C, "Member 'AInteractiveFoliageActor::FoliagePosition' has a wrong offset!");
static_assert(offsetof(AInteractiveFoliageActor, FoliageDamageImpulseScale) == 0x000378, "Member 'AInteractiveFoliageActor::FoliageDamageImpulseScale' has a wrong offset!");
static_assert(offsetof(AInteractiveFoliageActor, FoliageTouchImpulseScale) == 0x00037C, "Member 'AInteractiveFoliageActor::FoliageTouchImpulseScale' has a wrong offset!");
static_assert(offsetof(AInteractiveFoliageActor, FoliageStiffness) == 0x000380, "Member 'AInteractiveFoliageActor::FoliageStiffness' has a wrong offset!");
static_assert(offsetof(AInteractiveFoliageActor, FoliageStiffnessQuadratic) == 0x000384, "Member 'AInteractiveFoliageActor::FoliageStiffnessQuadratic' has a wrong offset!");
static_assert(offsetof(AInteractiveFoliageActor, FoliageDamping) == 0x000388, "Member 'AInteractiveFoliageActor::FoliageDamping' has a wrong offset!");
static_assert(offsetof(AInteractiveFoliageActor, MaxDamageImpulse) == 0x00038C, "Member 'AInteractiveFoliageActor::MaxDamageImpulse' has a wrong offset!");
static_assert(offsetof(AInteractiveFoliageActor, MaxTouchImpulse) == 0x000390, "Member 'AInteractiveFoliageActor::MaxTouchImpulse' has a wrong offset!");
static_assert(offsetof(AInteractiveFoliageActor, MaxForce) == 0x000394, "Member 'AInteractiveFoliageActor::MaxForce' has a wrong offset!");
static_assert(offsetof(AInteractiveFoliageActor, Mass) == 0x000398, "Member 'AInteractiveFoliageActor::Mass' has a wrong offset!");

// Class Foliage.ProceduralFoliageComponent
// 0x0028 (0x0120 - 0x00F8)
class UProceduralFoliageComponent : public UActorComponent
{
public:
	class UProceduralFoliageSpawner*              FoliageSpawner;                                    // 0x00F8(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         TileOverlap;                                       // 0x0100(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_104[0x4];                                      // 0x0104(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	class AVolume*                                SpawningVolume;                                    // 0x0108(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	struct FGuid                                  ProceduralGuid;                                    // 0x0110(0x0010)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"ProceduralFoliageComponent">();
	}
	static class UProceduralFoliageComponent* GetDefaultObj()
	{
		return GetDefaultObjImpl<UProceduralFoliageComponent>();
	}
};
static_assert(alignof(UProceduralFoliageComponent) == 0x000008, "Wrong alignment on UProceduralFoliageComponent");
static_assert(sizeof(UProceduralFoliageComponent) == 0x000120, "Wrong size on UProceduralFoliageComponent");
static_assert(offsetof(UProceduralFoliageComponent, FoliageSpawner) == 0x0000F8, "Member 'UProceduralFoliageComponent::FoliageSpawner' has a wrong offset!");
static_assert(offsetof(UProceduralFoliageComponent, TileOverlap) == 0x000100, "Member 'UProceduralFoliageComponent::TileOverlap' has a wrong offset!");
static_assert(offsetof(UProceduralFoliageComponent, SpawningVolume) == 0x000108, "Member 'UProceduralFoliageComponent::SpawningVolume' has a wrong offset!");
static_assert(offsetof(UProceduralFoliageComponent, ProceduralGuid) == 0x000110, "Member 'UProceduralFoliageComponent::ProceduralGuid' has a wrong offset!");

// Class Foliage.FoliageInstancedStaticMeshComponent
// 0x0028 (0x07B0 - 0x0788)
class UFoliageInstancedStaticMeshComponent final : public UHierarchicalInstancedStaticMeshComponent
{
public:
	UMulticastDelegateProperty_                   OnInstanceTakePointDamage;                         // 0x0788(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	UMulticastDelegateProperty_                   OnInstanceTakeRadialDamage;                        // 0x0798(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic)
	uint8                                         Pad_7A8[0x8];                                      // 0x07A8(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"FoliageInstancedStaticMeshComponent">();
	}
	static class UFoliageInstancedStaticMeshComponent* GetDefaultObj()
	{
		return GetDefaultObjImpl<UFoliageInstancedStaticMeshComponent>();
	}
};
static_assert(alignof(UFoliageInstancedStaticMeshComponent) == 0x000008, "Wrong alignment on UFoliageInstancedStaticMeshComponent");
static_assert(sizeof(UFoliageInstancedStaticMeshComponent) == 0x0007B0, "Wrong size on UFoliageInstancedStaticMeshComponent");
static_assert(offsetof(UFoliageInstancedStaticMeshComponent, OnInstanceTakePointDamage) == 0x000788, "Member 'UFoliageInstancedStaticMeshComponent::OnInstanceTakePointDamage' has a wrong offset!");
static_assert(offsetof(UFoliageInstancedStaticMeshComponent, OnInstanceTakeRadialDamage) == 0x000798, "Member 'UFoliageInstancedStaticMeshComponent::OnInstanceTakeRadialDamage' has a wrong offset!");

// Class Foliage.FoliageStatistics
// 0x0000 (0x0028 - 0x0028)
class UFoliageStatistics final : public UBlueprintFunctionLibrary
{
public:
	static int32 FoliageOverlappingBoxCount(class UObject* WorldContextObject, const class UStaticMesh* StaticMesh, const struct FBox& Box);
	static int32 FoliageOverlappingSphereCount(class UObject* WorldContextObject, const class UStaticMesh* StaticMesh, const struct FVector& CenterPosition, float Radius);

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"FoliageStatistics">();
	}
	static class UFoliageStatistics* GetDefaultObj()
	{
		return GetDefaultObjImpl<UFoliageStatistics>();
	}
};
static_assert(alignof(UFoliageStatistics) == 0x000008, "Wrong alignment on UFoliageStatistics");
static_assert(sizeof(UFoliageStatistics) == 0x000028, "Wrong size on UFoliageStatistics");

// Class Foliage.FoliageType
// 0x0338 (0x0360 - 0x0028)
class UFoliageType : public UObject
{
public:
	struct FGuid                                  UpdateGuid;                                        // 0x0028(0x0010)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         Density;                                           // 0x0038(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         DensityAdjustmentFactor;                           // 0x003C(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         Radius;                                            // 0x0040(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EFoliageScaling                               Scaling;                                           // 0x0044(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_45[0x3];                                       // 0x0045(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	struct FFloatInterval                         ScaleX;                                            // 0x0048(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FFloatInterval                         ScaleY;                                            // 0x0050(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FFloatInterval                         ScaleZ;                                            // 0x0058(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FFoliageVertexColorChannelMask         VertexColorMaskByChannel[0x4];                     // 0x0060(0x000C)(Edit, NoDestructor, AdvancedDisplay, NativeAccessSpecifierPublic)
	EFoliageVertexColorMask                       VertexColorMask;                                   // 0x0090(0x0001)(ZeroConstructor, Deprecated, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_91[0x3];                                       // 0x0091(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         VertexColorMaskThreshold;                          // 0x0094(0x0004)(ZeroConstructor, Deprecated, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         VertexColorMaskInvert : 1;                         // 0x0098(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Deprecated, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_99[0x3];                                       // 0x0099(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	struct FFloatInterval                         ZOffset;                                           // 0x009C(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         AlignToNormal : 1;                                 // 0x00A4(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_A5[0x3];                                       // 0x00A5(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         AlignMaxAngle;                                     // 0x00A8(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         RandomYaw : 1;                                     // 0x00AC(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_AD[0x3];                                       // 0x00AD(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         RandomPitchAngle;                                  // 0x00B0(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FFloatInterval                         GroundSlopeAngle;                                  // 0x00B4(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FFloatInterval                         Height;                                            // 0x00BC(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_C4[0x4];                                       // 0x00C4(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<class FName>                           LandscapeLayers;                                   // 0x00C8(0x0010)(Edit, ZeroConstructor, AdvancedDisplay, NativeAccessSpecifierPublic)
	class FName                                   LandscapeLayer;                                    // 0x00D8(0x0008)(ZeroConstructor, Deprecated, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         CollisionWithWorld : 1;                            // 0x00E0(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_E1[0x3];                                       // 0x00E1(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	struct FVector                                CollisionScale;                                    // 0x00E4(0x000C)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         MinimumLayerWeight;                                // 0x00F0(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FBoxSphereBounds                       MeshBounds;                                        // 0x00F4(0x001C)(ZeroConstructor, IsPlainOldData, NoDestructor, NativeAccessSpecifierPublic)
	struct FVector                                LowBoundOriginRadius;                              // 0x0110(0x000C)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EComponentMobility                            Mobility;                                          // 0x011C(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_11D[0x3];                                      // 0x011D(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	struct FInt32Interval                         CullDistance;                                      // 0x0120(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         bEnableStaticLighting : 1;                         // 0x0128(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Deprecated, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         CastShadow : 1;                                    // 0x0128(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         bAffectDynamicIndirectLighting : 1;                // 0x0128(0x0001)(BitIndex: 0x02, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         bAffectDistanceFieldLighting : 1;                  // 0x0128(0x0001)(BitIndex: 0x03, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         bCastDynamicShadow : 1;                            // 0x0128(0x0001)(BitIndex: 0x04, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         bCastStaticShadow : 1;                             // 0x0128(0x0001)(BitIndex: 0x05, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         bCastShadowAsTwoSided : 1;                         // 0x0128(0x0001)(BitIndex: 0x06, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         bReceivesDecals : 1;                               // 0x0128(0x0001)(BitIndex: 0x07, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         bOverrideLightMapRes : 1;                          // 0x0129(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_12A[0x2];                                      // 0x012A(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	int32                                         OverriddenLightMapRes;                             // 0x012C(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ELightmapType                                 LightmapType;                                      // 0x0130(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_131[0x3];                                      // 0x0131(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	uint8                                         bUseAsOccluder : 1;                                // 0x0134(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_135[0x3];                                      // 0x0135(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	struct FBodyInstance                          BodyInstance;                                      // 0x0138(0x0150)(Edit, NativeAccessSpecifierPublic)
	EHasCustomNavigableGeometry                   CustomNavigableGeometry;                           // 0x0288(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FLightingChannels                      LightingChannels;                                  // 0x0289(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, AdvancedDisplay, NativeAccessSpecifierPublic)
	uint8                                         Pad_28A[0x2];                                      // 0x028A(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	uint8                                         bRenderCustomDepth : 1;                            // 0x028C(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_28D[0x3];                                      // 0x028D(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	int32                                         CustomDepthStencilValue;                           // 0x0290(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         CollisionRadius;                                   // 0x0294(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         ShadeRadius;                                       // 0x0298(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         NumSteps;                                          // 0x029C(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         InitialSeedDensity;                                // 0x02A0(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         AverageSpreadDistance;                             // 0x02A4(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         SpreadVariance;                                    // 0x02A8(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         SeedsPerStep;                                      // 0x02AC(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         DistributionSeed;                                  // 0x02B0(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         MaxInitialSeedOffset;                              // 0x02B4(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bCanGrowInShade;                                   // 0x02B8(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bSpawnsInShade;                                    // 0x02B9(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_2BA[0x2];                                      // 0x02BA(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         MaxInitialAge;                                     // 0x02BC(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         MaxAge;                                            // 0x02C0(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         OverlapPriority;                                   // 0x02C4(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FFloatInterval                         ProceduralScale;                                   // 0x02C8(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FRuntimeFloatCurve                     ScaleCurve;                                        // 0x02D0(0x0088)(Edit, NativeAccessSpecifierPublic)
	int32                                         ChangeCount;                                       // 0x0358(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         ReapplyDensity : 1;                                // 0x035C(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         ReapplyRadius : 1;                                 // 0x035C(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         ReapplyAlignToNormal : 1;                          // 0x035C(0x0001)(BitIndex: 0x02, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         ReapplyRandomYaw : 1;                              // 0x035C(0x0001)(BitIndex: 0x03, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         ReapplyScaling : 1;                                // 0x035C(0x0001)(BitIndex: 0x04, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         ReapplyScaleX : 1;                                 // 0x035C(0x0001)(BitIndex: 0x05, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         ReapplyScaleY : 1;                                 // 0x035C(0x0001)(BitIndex: 0x06, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         ReapplyScaleZ : 1;                                 // 0x035C(0x0001)(BitIndex: 0x07, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         ReapplyRandomPitchAngle : 1;                       // 0x035D(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         ReapplyGroundSlope : 1;                            // 0x035D(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         ReapplyHeight : 1;                                 // 0x035D(0x0001)(BitIndex: 0x02, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         ReapplyLandscapeLayers : 1;                        // 0x035D(0x0001)(BitIndex: 0x03, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         ReapplyZOffset : 1;                                // 0x035D(0x0001)(BitIndex: 0x04, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         ReapplyCollisionWithWorld : 1;                     // 0x035D(0x0001)(BitIndex: 0x05, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         ReapplyVertexColorMask : 1;                        // 0x035D(0x0001)(BitIndex: 0x06, PropSize: 0x0001 (Edit, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         bEnableDensityScaling : 1;                         // 0x035D(0x0001)(BitIndex: 0x07, PropSize: 0x0001 (Edit, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_35E[0x2];                                      // 0x035E(0x0002)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"FoliageType">();
	}
	static class UFoliageType* GetDefaultObj()
	{
		return GetDefaultObjImpl<UFoliageType>();
	}
};
static_assert(alignof(UFoliageType) == 0x000008, "Wrong alignment on UFoliageType");
static_assert(sizeof(UFoliageType) == 0x000360, "Wrong size on UFoliageType");
static_assert(offsetof(UFoliageType, UpdateGuid) == 0x000028, "Member 'UFoliageType::UpdateGuid' has a wrong offset!");
static_assert(offsetof(UFoliageType, Density) == 0x000038, "Member 'UFoliageType::Density' has a wrong offset!");
static_assert(offsetof(UFoliageType, DensityAdjustmentFactor) == 0x00003C, "Member 'UFoliageType::DensityAdjustmentFactor' has a wrong offset!");
static_assert(offsetof(UFoliageType, Radius) == 0x000040, "Member 'UFoliageType::Radius' has a wrong offset!");
static_assert(offsetof(UFoliageType, Scaling) == 0x000044, "Member 'UFoliageType::Scaling' has a wrong offset!");
static_assert(offsetof(UFoliageType, ScaleX) == 0x000048, "Member 'UFoliageType::ScaleX' has a wrong offset!");
static_assert(offsetof(UFoliageType, ScaleY) == 0x000050, "Member 'UFoliageType::ScaleY' has a wrong offset!");
static_assert(offsetof(UFoliageType, ScaleZ) == 0x000058, "Member 'UFoliageType::ScaleZ' has a wrong offset!");
static_assert(offsetof(UFoliageType, VertexColorMaskByChannel) == 0x000060, "Member 'UFoliageType::VertexColorMaskByChannel' has a wrong offset!");
static_assert(offsetof(UFoliageType, VertexColorMask) == 0x000090, "Member 'UFoliageType::VertexColorMask' has a wrong offset!");
static_assert(offsetof(UFoliageType, VertexColorMaskThreshold) == 0x000094, "Member 'UFoliageType::VertexColorMaskThreshold' has a wrong offset!");
static_assert(offsetof(UFoliageType, ZOffset) == 0x00009C, "Member 'UFoliageType::ZOffset' has a wrong offset!");
static_assert(offsetof(UFoliageType, AlignMaxAngle) == 0x0000A8, "Member 'UFoliageType::AlignMaxAngle' has a wrong offset!");
static_assert(offsetof(UFoliageType, RandomPitchAngle) == 0x0000B0, "Member 'UFoliageType::RandomPitchAngle' has a wrong offset!");
static_assert(offsetof(UFoliageType, GroundSlopeAngle) == 0x0000B4, "Member 'UFoliageType::GroundSlopeAngle' has a wrong offset!");
static_assert(offsetof(UFoliageType, Height) == 0x0000BC, "Member 'UFoliageType::Height' has a wrong offset!");
static_assert(offsetof(UFoliageType, LandscapeLayers) == 0x0000C8, "Member 'UFoliageType::LandscapeLayers' has a wrong offset!");
static_assert(offsetof(UFoliageType, LandscapeLayer) == 0x0000D8, "Member 'UFoliageType::LandscapeLayer' has a wrong offset!");
static_assert(offsetof(UFoliageType, CollisionScale) == 0x0000E4, "Member 'UFoliageType::CollisionScale' has a wrong offset!");
static_assert(offsetof(UFoliageType, MinimumLayerWeight) == 0x0000F0, "Member 'UFoliageType::MinimumLayerWeight' has a wrong offset!");
static_assert(offsetof(UFoliageType, MeshBounds) == 0x0000F4, "Member 'UFoliageType::MeshBounds' has a wrong offset!");
static_assert(offsetof(UFoliageType, LowBoundOriginRadius) == 0x000110, "Member 'UFoliageType::LowBoundOriginRadius' has a wrong offset!");
static_assert(offsetof(UFoliageType, Mobility) == 0x00011C, "Member 'UFoliageType::Mobility' has a wrong offset!");
static_assert(offsetof(UFoliageType, CullDistance) == 0x000120, "Member 'UFoliageType::CullDistance' has a wrong offset!");
static_assert(offsetof(UFoliageType, OverriddenLightMapRes) == 0x00012C, "Member 'UFoliageType::OverriddenLightMapRes' has a wrong offset!");
static_assert(offsetof(UFoliageType, LightmapType) == 0x000130, "Member 'UFoliageType::LightmapType' has a wrong offset!");
static_assert(offsetof(UFoliageType, BodyInstance) == 0x000138, "Member 'UFoliageType::BodyInstance' has a wrong offset!");
static_assert(offsetof(UFoliageType, CustomNavigableGeometry) == 0x000288, "Member 'UFoliageType::CustomNavigableGeometry' has a wrong offset!");
static_assert(offsetof(UFoliageType, LightingChannels) == 0x000289, "Member 'UFoliageType::LightingChannels' has a wrong offset!");
static_assert(offsetof(UFoliageType, CustomDepthStencilValue) == 0x000290, "Member 'UFoliageType::CustomDepthStencilValue' has a wrong offset!");
static_assert(offsetof(UFoliageType, CollisionRadius) == 0x000294, "Member 'UFoliageType::CollisionRadius' has a wrong offset!");
static_assert(offsetof(UFoliageType, ShadeRadius) == 0x000298, "Member 'UFoliageType::ShadeRadius' has a wrong offset!");
static_assert(offsetof(UFoliageType, NumSteps) == 0x00029C, "Member 'UFoliageType::NumSteps' has a wrong offset!");
static_assert(offsetof(UFoliageType, InitialSeedDensity) == 0x0002A0, "Member 'UFoliageType::InitialSeedDensity' has a wrong offset!");
static_assert(offsetof(UFoliageType, AverageSpreadDistance) == 0x0002A4, "Member 'UFoliageType::AverageSpreadDistance' has a wrong offset!");
static_assert(offsetof(UFoliageType, SpreadVariance) == 0x0002A8, "Member 'UFoliageType::SpreadVariance' has a wrong offset!");
static_assert(offsetof(UFoliageType, SeedsPerStep) == 0x0002AC, "Member 'UFoliageType::SeedsPerStep' has a wrong offset!");
static_assert(offsetof(UFoliageType, DistributionSeed) == 0x0002B0, "Member 'UFoliageType::DistributionSeed' has a wrong offset!");
static_assert(offsetof(UFoliageType, MaxInitialSeedOffset) == 0x0002B4, "Member 'UFoliageType::MaxInitialSeedOffset' has a wrong offset!");
static_assert(offsetof(UFoliageType, bCanGrowInShade) == 0x0002B8, "Member 'UFoliageType::bCanGrowInShade' has a wrong offset!");
static_assert(offsetof(UFoliageType, bSpawnsInShade) == 0x0002B9, "Member 'UFoliageType::bSpawnsInShade' has a wrong offset!");
static_assert(offsetof(UFoliageType, MaxInitialAge) == 0x0002BC, "Member 'UFoliageType::MaxInitialAge' has a wrong offset!");
static_assert(offsetof(UFoliageType, MaxAge) == 0x0002C0, "Member 'UFoliageType::MaxAge' has a wrong offset!");
static_assert(offsetof(UFoliageType, OverlapPriority) == 0x0002C4, "Member 'UFoliageType::OverlapPriority' has a wrong offset!");
static_assert(offsetof(UFoliageType, ProceduralScale) == 0x0002C8, "Member 'UFoliageType::ProceduralScale' has a wrong offset!");
static_assert(offsetof(UFoliageType, ScaleCurve) == 0x0002D0, "Member 'UFoliageType::ScaleCurve' has a wrong offset!");
static_assert(offsetof(UFoliageType, ChangeCount) == 0x000358, "Member 'UFoliageType::ChangeCount' has a wrong offset!");

// Class Foliage.FoliageType_InstancedStaticMesh
// 0x0020 (0x0380 - 0x0360)
class UFoliageType_InstancedStaticMesh final : public UFoliageType
{
public:
	class UStaticMesh*                            Mesh;                                              // 0x0360(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<class UMaterialInterface*>             OverrideMaterials;                                 // 0x0368(0x0010)(Edit, ZeroConstructor, AdvancedDisplay, NativeAccessSpecifierPublic)
	TSubclassOf<class UFoliageInstancedStaticMeshComponent> ComponentClass;                                    // 0x0378(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"FoliageType_InstancedStaticMesh">();
	}
	static class UFoliageType_InstancedStaticMesh* GetDefaultObj()
	{
		return GetDefaultObjImpl<UFoliageType_InstancedStaticMesh>();
	}
};
static_assert(alignof(UFoliageType_InstancedStaticMesh) == 0x000008, "Wrong alignment on UFoliageType_InstancedStaticMesh");
static_assert(sizeof(UFoliageType_InstancedStaticMesh) == 0x000380, "Wrong size on UFoliageType_InstancedStaticMesh");
static_assert(offsetof(UFoliageType_InstancedStaticMesh, Mesh) == 0x000360, "Member 'UFoliageType_InstancedStaticMesh::Mesh' has a wrong offset!");
static_assert(offsetof(UFoliageType_InstancedStaticMesh, OverrideMaterials) == 0x000368, "Member 'UFoliageType_InstancedStaticMesh::OverrideMaterials' has a wrong offset!");
static_assert(offsetof(UFoliageType_InstancedStaticMesh, ComponentClass) == 0x000378, "Member 'UFoliageType_InstancedStaticMesh::ComponentClass' has a wrong offset!");

// Class Foliage.InstancedFoliageActor
// 0x0050 (0x0380 - 0x0330)
class AInstancedFoliageActor final : public AActor
{
public:
	uint8                                         Pad_330[0x50];                                     // 0x0330(0x0050)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"InstancedFoliageActor">();
	}
	static class AInstancedFoliageActor* GetDefaultObj()
	{
		return GetDefaultObjImpl<AInstancedFoliageActor>();
	}
};
static_assert(alignof(AInstancedFoliageActor) == 0x000008, "Wrong alignment on AInstancedFoliageActor");
static_assert(sizeof(AInstancedFoliageActor) == 0x000380, "Wrong size on AInstancedFoliageActor");

// Class Foliage.InteractiveFoliageComponent
// 0x0008 (0x0610 - 0x0608)
class UInteractiveFoliageComponent final : public UStaticMeshComponent
{
public:
	uint8                                         Pad_608[0x8];                                      // 0x0608(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"InteractiveFoliageComponent">();
	}
	static class UInteractiveFoliageComponent* GetDefaultObj()
	{
		return GetDefaultObjImpl<UInteractiveFoliageComponent>();
	}
};
static_assert(alignof(UInteractiveFoliageComponent) == 0x000008, "Wrong alignment on UInteractiveFoliageComponent");
static_assert(sizeof(UInteractiveFoliageComponent) == 0x000610, "Wrong size on UInteractiveFoliageComponent");

// Class Foliage.ProceduralFoliageBlockingVolume
// 0x0008 (0x0370 - 0x0368)
class AProceduralFoliageBlockingVolume final : public AVolume
{
public:
	class AProceduralFoliageVolume*               ProceduralFoliageVolume;                           // 0x0368(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"ProceduralFoliageBlockingVolume">();
	}
	static class AProceduralFoliageBlockingVolume* GetDefaultObj()
	{
		return GetDefaultObjImpl<AProceduralFoliageBlockingVolume>();
	}
};
static_assert(alignof(AProceduralFoliageBlockingVolume) == 0x000008, "Wrong alignment on AProceduralFoliageBlockingVolume");
static_assert(sizeof(AProceduralFoliageBlockingVolume) == 0x000370, "Wrong size on AProceduralFoliageBlockingVolume");
static_assert(offsetof(AProceduralFoliageBlockingVolume, ProceduralFoliageVolume) == 0x000368, "Member 'AProceduralFoliageBlockingVolume::ProceduralFoliageVolume' has a wrong offset!");

// Class Foliage.ProceduralFoliageSpawner
// 0x0048 (0x0070 - 0x0028)
class UProceduralFoliageSpawner final : public UObject
{
public:
	int32                                         RandomSeed;                                        // 0x0028(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         TileSize;                                          // 0x002C(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         NumUniqueTiles;                                    // 0x0030(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         MinimumQuadTreeSize;                               // 0x0034(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_38[0x8];                                       // 0x0038(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FFoliageTypeObject>             FoliageTypes;                                      // 0x0040(0x0010)(Edit, ZeroConstructor, NativeAccessSpecifierPrivate)
	bool                                          bNeedsSimulation;                                  // 0x0050(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_51[0x1F];                                      // 0x0051(0x001F)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void Simulate(int32 NumSteps);

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"ProceduralFoliageSpawner">();
	}
	static class UProceduralFoliageSpawner* GetDefaultObj()
	{
		return GetDefaultObjImpl<UProceduralFoliageSpawner>();
	}
};
static_assert(alignof(UProceduralFoliageSpawner) == 0x000008, "Wrong alignment on UProceduralFoliageSpawner");
static_assert(sizeof(UProceduralFoliageSpawner) == 0x000070, "Wrong size on UProceduralFoliageSpawner");
static_assert(offsetof(UProceduralFoliageSpawner, RandomSeed) == 0x000028, "Member 'UProceduralFoliageSpawner::RandomSeed' has a wrong offset!");
static_assert(offsetof(UProceduralFoliageSpawner, TileSize) == 0x00002C, "Member 'UProceduralFoliageSpawner::TileSize' has a wrong offset!");
static_assert(offsetof(UProceduralFoliageSpawner, NumUniqueTiles) == 0x000030, "Member 'UProceduralFoliageSpawner::NumUniqueTiles' has a wrong offset!");
static_assert(offsetof(UProceduralFoliageSpawner, MinimumQuadTreeSize) == 0x000034, "Member 'UProceduralFoliageSpawner::MinimumQuadTreeSize' has a wrong offset!");
static_assert(offsetof(UProceduralFoliageSpawner, FoliageTypes) == 0x000040, "Member 'UProceduralFoliageSpawner::FoliageTypes' has a wrong offset!");
static_assert(offsetof(UProceduralFoliageSpawner, bNeedsSimulation) == 0x000050, "Member 'UProceduralFoliageSpawner::bNeedsSimulation' has a wrong offset!");

// Class Foliage.ProceduralFoliageTile
// 0x0130 (0x0158 - 0x0028)
class UProceduralFoliageTile final : public UObject
{
public:
	class UProceduralFoliageSpawner*              FoliageSpawner;                                    // 0x0028(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_30[0xA0];                                      // 0x0030(0x00A0)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FProceduralFoliageInstance>     InstancesArray;                                    // 0x00D0(0x0010)(ZeroConstructor, NativeAccessSpecifierPrivate)
	uint8                                         Pad_E0[0x78];                                      // 0x00E0(0x0078)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"ProceduralFoliageTile">();
	}
	static class UProceduralFoliageTile* GetDefaultObj()
	{
		return GetDefaultObjImpl<UProceduralFoliageTile>();
	}
};
static_assert(alignof(UProceduralFoliageTile) == 0x000008, "Wrong alignment on UProceduralFoliageTile");
static_assert(sizeof(UProceduralFoliageTile) == 0x000158, "Wrong size on UProceduralFoliageTile");
static_assert(offsetof(UProceduralFoliageTile, FoliageSpawner) == 0x000028, "Member 'UProceduralFoliageTile::FoliageSpawner' has a wrong offset!");
static_assert(offsetof(UProceduralFoliageTile, InstancesArray) == 0x0000D0, "Member 'UProceduralFoliageTile::InstancesArray' has a wrong offset!");

// Class Foliage.ProceduralFoliageVolume
// 0x0008 (0x0370 - 0x0368)
class AProceduralFoliageVolume final : public AVolume
{
public:
	class UProceduralFoliageComponent*            ProceduralComponent;                               // 0x0368(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, EditConst, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"ProceduralFoliageVolume">();
	}
	static class AProceduralFoliageVolume* GetDefaultObj()
	{
		return GetDefaultObjImpl<AProceduralFoliageVolume>();
	}
};
static_assert(alignof(AProceduralFoliageVolume) == 0x000008, "Wrong alignment on AProceduralFoliageVolume");
static_assert(sizeof(AProceduralFoliageVolume) == 0x000370, "Wrong size on AProceduralFoliageVolume");
static_assert(offsetof(AProceduralFoliageVolume, ProceduralComponent) == 0x000368, "Member 'AProceduralFoliageVolume::ProceduralComponent' has a wrong offset!");

}

