#pragma once // Dumped with Dumper-7! namespace SDK { //--------------------------------------------------------------------------------------------------------------------- // CLASSES //--------------------------------------------------------------------------------------------------------------------- // 0x168 (0x208 - 0xA0) // Class Water.BuoyancyComponent class UBuoyancyComponent : public UActorComponent { public: TArray Pontoons; // 0xA0(0x10)(ZeroConstructor, Deprecated, ContainsInstancedReference, NativeAccessSpecifierPublic) FMulticastInlineDelegateProperty_ OnEnteredWaterDelegate; // 0xB0(0x10)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic) FMulticastInlineDelegateProperty_ OnExitedWaterDelegate; // 0xC0(0x10)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic) struct FBuoyancyData BuoyancyData; // 0xD0(0x90)(Edit, BlueprintVisible, BlueprintReadOnly, DisableEditOnInstance, ContainsInstancedReference, NativeAccessSpecifierPublic) TArray CurrentWaterBodyComponents; // 0x160(0x10)(ExportObject, ZeroConstructor, Transient, ContainsInstancedReference, Protected, UObjectWrapper, NativeAccessSpecifierProtected) class UPrimitiveComponent* SimulatingComponent; // 0x170(0x8)(ExportObject, ZeroConstructor, InstancedReference, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected) uint8 Pad_1E0[0x90]; // Fixing Size Of Struct [ Dumper-7 ] static class UClass* StaticClass(); static class UBuoyancyComponent* GetDefaultObj(); void OnPontoonExitedWater(struct FSphericalPontoon& Pontoon); void OnPontoonEnteredWater(struct FSphericalPontoon& Pontoon); bool IsOverlappingWaterBody(); bool IsInWaterBody(); void GetLastWaterSurfaceInfo(struct FVector* OutWaterPlaneLocation, struct FVector* OutWaterPlaneNormal, struct FVector* OutWaterSurfacePosition, float* OutWaterDepth, int32* OutWaterBodyIdx, struct FVector* OutWaterVelocity); TArray GetCurrentWaterBodyComponents(); }; // 0xC8 (0x358 - 0x290) // Class Water.BuoyancyManager class ABuoyancyManager : public AActor { public: uint8 Pad_1E6[0x50]; // Fixing Size After Last Property [ Dumper-7 ] TArray BuoyancyComponents; // 0x2E0(0x10)(ExportObject, ZeroConstructor, ContainsInstancedReference, UObjectWrapper, NativeAccessSpecifierPrivate) uint8 Pad_1E8[0x68]; // Fixing Size Of Struct [ Dumper-7 ] static class UClass* StaticClass(); static class ABuoyancyManager* GetDefaultObj(); bool GetBuoyancyComponentManager(class UObject* WorldContextObject, class ABuoyancyManager** Manager); }; // 0x8 (0x200 - 0x1F8) // Class Water.EnvQueryTest_InsideWaterBody class UEnvQueryTest_InsideWaterBody : public UEnvQueryTest { public: bool bIncludeWaves; // 0x1F8(0x1)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) bool bSimpleWaves; // 0x1F9(0x1)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) bool bIgnoreExclusionVolumes; // 0x1FA(0x1)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) uint8 Pad_1EB[0x5]; // Fixing Size Of Struct [ Dumper-7 ] static class UClass* StaticClass(); static class UEnvQueryTest_InsideWaterBody* GetDefaultObj(); }; // 0x0 (0x28 - 0x28) // Class Water.GerstnerWaterWaveGeneratorBase class UGerstnerWaterWaveGeneratorBase : public UObject { public: static class UClass* StaticClass(); static class UGerstnerWaterWaveGeneratorBase* GetDefaultObj(); void GenerateGerstnerWaves(TArray* OutWaves); }; // 0x38 (0x60 - 0x28) // Class Water.GerstnerWaterWaveGeneratorSimple class UGerstnerWaterWaveGeneratorSimple : public UGerstnerWaterWaveGeneratorBase { public: int32 NumWaves; // 0x28(0x4)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) int32 Seed; // 0x2C(0x4)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic) float Randomness; // 0x30(0x4)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) float MinWavelength; // 0x34(0x4)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) float MaxWavelength; // 0x38(0x4)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) float WavelengthFalloff; // 0x3C(0x4)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) float MinAmplitude; // 0x40(0x4)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) float MaxAmplitude; // 0x44(0x4)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) float AmplitudeFalloff; // 0x48(0x4)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) float WindAngleDeg; // 0x4C(0x4)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) float DirectionAngularSpreadDeg; // 0x50(0x4)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) float SmallWaveSteepness; // 0x54(0x4)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) float LargeWaveSteepness; // 0x58(0x4)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) float SteepnessFalloff; // 0x5C(0x4)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) static class UClass* StaticClass(); static class UGerstnerWaterWaveGeneratorSimple* GetDefaultObj(); }; // 0x18 (0x40 - 0x28) // Class Water.GerstnerWaterWaveGeneratorSpectrum class UGerstnerWaterWaveGeneratorSpectrum : public UGerstnerWaterWaveGeneratorBase { public: enum class EWaveSpectrumType SpectrumType; // 0x28(0x1)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) uint8 Pad_1F4[0x7]; // Fixing Size After Last Property [ Dumper-7 ] TArray Octaves; // 0x30(0x10)(Edit, ZeroConstructor, NativeAccessSpecifierPublic) static class UClass* StaticClass(); static class UGerstnerWaterWaveGeneratorSpectrum* GetDefaultObj(); }; // 0x0 (0x28 - 0x28) // Class Water.WaterWavesBase class UWaterWavesBase : public UObject { public: static class UClass* StaticClass(); static class UWaterWavesBase* GetDefaultObj(); }; // 0x0 (0x28 - 0x28) // Class Water.WaterWaves class UWaterWaves : public UWaterWavesBase { public: static class UClass* StaticClass(); static class UWaterWaves* GetDefaultObj(); }; // 0x20 (0x48 - 0x28) // Class Water.GerstnerWaterWaves class UGerstnerWaterWaves : public UWaterWaves { public: class UGerstnerWaterWaveGeneratorBase* GerstnerWaveGenerator; // 0x28(0x8)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, InstancedReference, NoDestructor, PersistentInstance, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic) TArray GerstnerWaves; // 0x30(0x10)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Protected, NativeAccessSpecifierProtected) float MaxWaveHeight; // 0x40(0x4)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected) uint8 Pad_1F9[0x4]; // Fixing Size Of Struct [ Dumper-7 ] static class UClass* StaticClass(); static class UGerstnerWaterWaves* GetDefaultObj(); }; // 0x18 (0x48 - 0x30) // Class Water.GerstnerWaterWaveSubsystem class UGerstnerWaterWaveSubsystem : public UEngineSubsystem { public: uint8 Pad_1FB[0x18]; // Fixing Size Of Struct [ Dumper-7 ] static class UClass* StaticClass(); static class UGerstnerWaterWaveSubsystem* GetDefaultObj(); }; // 0x28 (0x560 - 0x538) // Class Water.LakeCollisionComponent class ULakeCollisionComponent : public UPrimitiveComponent { public: class UBodySetup* CachedBodySetup; // 0x538(0x8)(ZeroConstructor, NoDestructor, NonPIEDuplicateTransient, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate) struct FVector BoxExtent; // 0x540(0x18)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate) uint8 Pad_200[0x8]; // Fixing Size Of Struct [ Dumper-7 ] static class UClass* StaticClass(); static class ULakeCollisionComponent* GetDefaultObj(); }; // 0x8 (0x40 - 0x38) // Class Water.NiagaraDataInterfaceWater class UNiagaraDataInterfaceWater : public UNiagaraDataInterface { public: class UWaterBodyComponent* SourceBodyComponent; // 0x38(0x8)(Edit, ExportObject, ZeroConstructor, InstancedReference, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate) static class UClass* StaticClass(); static class UNiagaraDataInterfaceWater* GetDefaultObj(); }; // 0x0 (0x28 - 0x28) // Class Water.NiagaraWaterFunctionLibrary class UNiagaraWaterFunctionLibrary : public UBlueprintFunctionLibrary { public: static class UClass* StaticClass(); static class UNiagaraWaterFunctionLibrary* GetDefaultObj(); void SetWaterBodyComponent(class UNiagaraComponent* NiagaraSystem, const class FString& OverrideName, class UWaterBodyComponent* WaterBodyComponent); void SetWaterBody(class UNiagaraComponent* NiagaraSystem, const class FString& OverrideName, class AWaterBody* WaterBody); }; // 0x48 (0x580 - 0x538) // Class Water.OceanCollisionComponent class UOceanCollisionComponent : public UPrimitiveComponent { public: class UBodySetup* CachedBodySetup; // 0x538(0x8)(ZeroConstructor, NoDestructor, NonPIEDuplicateTransient, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate) uint8 Pad_208[0x40]; // Fixing Size Of Struct [ Dumper-7 ] static class UClass* StaticClass(); static class UOceanCollisionComponent* GetDefaultObj(); }; // 0x8 (0x580 - 0x578) // Class Water.OceanBoxCollisionComponent class UOceanBoxCollisionComponent : public UBoxComponent { public: uint8 Pad_209[0x8]; // Fixing Size Of Struct [ Dumper-7 ] static class UClass* StaticClass(); static class UOceanBoxCollisionComponent* GetDefaultObj(); }; // 0x30 (0x2C0 - 0x290) // Class Water.WaterBody class AWaterBody : public AActor { public: uint8 Pad_21D[0x8]; // Fixing Size After Last Property [ Dumper-7 ] class UWaterSplineComponent* SplineComp; // 0x298(0x8)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, EditConst, InstancedReference, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected) class UWaterSplineMetadata* WaterSplineMetadata; // 0x2A0(0x8)(ExportObject, ZeroConstructor, InstancedReference, NoDestructor, Protected, PersistentInstance, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected) class UWaterBodyComponent* WaterBodyComponent; // 0x2A8(0x8)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, EditConst, InstancedReference, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected) int32 WaterBodyIndex; // 0x2B0(0x4)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Transient, DuplicateTransient, IsPlainOldData, NonTransactional, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected) enum class EWaterBodyType WaterBodyType; // 0x2B4(0x1)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected) uint8 Pad_21F[0x3]; // Fixing Size After Last Property [ Dumper-7 ] class UWaterWavesBase* WaterWaves; // 0x2B8(0x8)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, InstancedReference, NoDestructor, Protected, PersistentInstance, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected) static class UClass* StaticClass(); static class AWaterBody* GetDefaultObj(); void SetWaterWaves(class UWaterWavesBase* InWaterWaves); void SetWaterMaterial(class UMaterialInterface* InMaterial); void OnWaterBodyChanged(bool bShapeOrPositionChanged, bool bWeightmapSettingsChanged); struct FVector GetWaterVelocityVectorAtSplineInputKey(float InKey); float GetWaterVelocityAtSplineInputKey(float InKey); class UWaterSplineComponent* GetWaterSpline(); class UMaterialInstanceDynamic* GetWaterMaterialInstance(); enum class EWaterBodyType GetWaterBodyType(); class UWaterBodyComponent* GetWaterBodyComponent(); class UMaterialInstanceDynamic* GetRiverToOceanTransitionMaterialInstance(); class UMaterialInstanceDynamic* GetRiverToLakeTransitionMaterialInstance(); TArray GetIslands(); TArray GetExclusionVolumes(); float GetAudioIntensityAtSplineInputKey(float InKey); }; // 0x0 (0x28 - 0x28) // Class Water.WaterBodyGenerator class UWaterBodyGenerator : public UObject { public: static class UClass* StaticClass(); static class UWaterBodyGenerator* GetDefaultObj(); }; // 0xFF8 (0x1530 - 0x538) // Class Water.WaterBodyComponent class UWaterBodyComponent : public UPrimitiveComponent { public: class UPhysicalMaterial* PhysicalMaterial; // 0x538(0x8)(Edit, ZeroConstructor, DisableEditOnInstance, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic) float TargetWaveMaskDepth; // 0x540(0x4)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) float MaxWaveHeightOffset; // 0x544(0x4)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) uint8 Pad_268[0x8]; // Fixing Size After Last Property [ Dumper-7 ] struct FUnderwaterPostProcessSettings UnderwaterPostProcessSettings; // 0x550(0x700)(Edit, BlueprintVisible, AdvancedDisplay, NativeAccessSpecifierPublic) struct FWaterCurveSettings CurveSettings; // 0xC50(0x20)(Edit, BlueprintVisible, NoDestructor, NativeAccessSpecifierPublic) class UMaterialInterface* WaterMaterial; // 0xC70(0x8)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic) class UMaterialInterface* WaterHLODMaterial; // 0xC78(0x8)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic) class UMaterialInterface* WaterLODMaterial; // 0xC80(0x8)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic) class UMaterialInterface* UnderwaterPostProcessMaterial; // 0xC88(0x8)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic) class UMaterialInterface* WaterInfoMaterial; // 0xC90(0x8)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic) struct FWaterBodyHeightmapSettings WaterHeightmapSettings; // 0xC98(0x80)(Edit, BlueprintVisible, NoDestructor, NativeAccessSpecifierPublic) float ShapeDilation; // 0xD18(0x4)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic) float CollisionHeightOffset; // 0xD1C(0x4)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic) bool bAffectsLandscape; // 0xD20(0x1)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) uint8 Pad_269[0x3]; // Fixing Size After Last Property [ Dumper-7 ] int32 WaterBodyIndex; // 0xD24(0x4)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Transient, EditConst, DuplicateTransient, IsPlainOldData, NonTransactional, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected) class UStaticMesh* WaterMeshOverride; // 0xD28(0x8)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected) bool bAlwaysGenerateWaterMeshTiles; // 0xD30(0x1)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected) uint8 Pad_26B[0x3]; // Fixing Size After Last Property [ Dumper-7 ] int32 OverlapMaterialPriority; // 0xD34(0x4)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected) class UWaterSplineMetadata* WaterSplineMetadata; // 0xD38(0x8)(ZeroConstructor, Transient, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected) class UMaterialInstanceDynamic* WaterMID; // 0xD40(0x8)(Edit, ZeroConstructor, DisableEditOnTemplate, Transient, EditConst, NoDestructor, Protected, TextExportTransient, NonPIEDuplicateTransient, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected) class UMaterialInstanceDynamic* WaterLODMID; // 0xD48(0x8)(Edit, ZeroConstructor, DisableEditOnTemplate, Transient, EditConst, NoDestructor, Protected, TextExportTransient, NonPIEDuplicateTransient, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected) class UMaterialInstanceDynamic* UnderwaterPostProcessMID; // 0xD50(0x8)(Edit, ZeroConstructor, DisableEditOnTemplate, Transient, EditConst, NoDestructor, Protected, TextExportTransient, NonPIEDuplicateTransient, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected) class UMaterialInstanceDynamic* WaterInfoMID; // 0xD58(0x8)(Edit, ZeroConstructor, DisableEditOnTemplate, Transient, EditConst, NoDestructor, Protected, TextExportTransient, NonPIEDuplicateTransient, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected) TArray> WaterBodyIslands; // 0xD60(0x10)(Edit, ZeroConstructor, EditConst, AdvancedDisplay, Protected, UObjectWrapper, NativeAccessSpecifierProtected) TArray> WaterBodyExclusionVolumes; // 0xD70(0x10)(Edit, ZeroConstructor, EditConst, AdvancedDisplay, Protected, UObjectWrapper, NativeAccessSpecifierProtected) TWeakObjectPtr Landscape; // 0xD80(0x8)(ZeroConstructor, Transient, IsPlainOldData, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected) TSoftObjectPtr OwningWaterZone; // 0xD88(0x30)(Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected) TSoftObjectPtr WaterZoneOverride; // 0xDB8(0x30)(Edit, BlueprintVisible, BlueprintReadOnly, AdvancedDisplay, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected) uint8 Pad_271[0x8]; // Fixing Size After Last Property [ Dumper-7 ] struct FPostProcessSettings CurrentPostProcessSettings; // 0xDF0(0x6E0)(Transient, Protected, NativeAccessSpecifierProtected) TSubclassOf WaterNavAreaClass; // 0x14D0(0x8)(Edit, BlueprintVisible, ZeroConstructor, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected) uint8 Pad_274[0x50]; // Fixing Size After Last Property [ Dumper-7 ] double FixedWaterDepth; // 0x1528(0x8)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected) static class UClass* StaticClass(); static class UWaterBodyComponent* GetDefaultObj(); void SetWaterAndUnderWaterPostProcessMaterial(class UMaterialInterface* InWaterMaterial, class UMaterialInterface* InUnderWaterPostProcessMaterial); void OnWaterBodyChanged(bool bShapeOrPositionChanged, bool bWeightmapSettingsChanged); class UWaterWavesBase* GetWaterWaves(); float GetWaterVelocityAtSplineInputKey(float InKey); void GetWaterSurfaceInfoAtLocation(struct FVector& InLocation, struct FVector* OutWaterSurfaceLocation, struct FVector* OutWaterSurfaceNormal, struct FVector* OutWaterVelocity, float* OutWaterDepth, bool bIncludeDepth); class UWaterSplineComponent* GetWaterSpline(); class UMaterialInstanceDynamic* GetWaterMaterialInstance(); class UMaterialInterface* GetWaterMaterial(); class UMaterialInstanceDynamic* GetWaterLODMaterialInstance(); class UMaterialInstanceDynamic* GetWaterInfoMaterialInstance(); class AWaterBody* GetWaterBodyActor(); class UMaterialInstanceDynamic* GetUnderwaterPostProcessMaterialInstance(); TArray GetStandardRenderableComponents(); class UMaterialInstanceDynamic* GetRiverToOceanTransitionMaterialInstance(); class UMaterialInstanceDynamic* GetRiverToLakeTransitionMaterialInstance(); float GetMaxWaveHeight(); TArray GetIslands(); TArray GetExclusionVolumes(); TArray GetCollisionComponents(bool bInOnlyEnabledComponents); }; // 0x8 (0x30 - 0x28) // Class Water.CustomMeshGenerator class UCustomMeshGenerator : public UWaterBodyGenerator { public: class UStaticMeshComponent* MeshComp; // 0x28(0x8)(ExportObject, ZeroConstructor, InstancedReference, NoDestructor, NonPIEDuplicateTransient, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic) static class UClass* StaticClass(); static class UCustomMeshGenerator* GetDefaultObj(); }; // 0x0 (0x2C0 - 0x2C0) // Class Water.WaterBodyCustom class AWaterBodyCustom : public AWaterBody { public: static class UClass* StaticClass(); static class AWaterBodyCustom* GetDefaultObj(); }; // 0x10 (0x1540 - 0x1530) // Class Water.WaterBodyCustomComponent class UWaterBodyCustomComponent : public UWaterBodyComponent { public: class UStaticMeshComponent* MeshComp; // 0x1530(0x8)(ExportObject, ZeroConstructor, InstancedReference, NoDestructor, Protected, NonPIEDuplicateTransient, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected) uint8 Pad_27B[0x8]; // Fixing Size Of Struct [ Dumper-7 ] static class UClass* StaticClass(); static class UWaterBodyCustomComponent* GetDefaultObj(); }; // 0x18 (0x2F0 - 0x2D8) // Class Water.WaterBodyExclusionVolume class AWaterBodyExclusionVolume : public APhysicsVolume { public: bool bExcludeAllOverlappingWaterBodies; // 0x2D8(0x1)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) uint8 Pad_27C[0x7]; // Fixing Size After Last Property [ Dumper-7 ] TArray WaterBodiesToExclude; // 0x2E0(0x10)(Edit, ZeroConstructor, DisableEditOnTemplate, UObjectWrapper, NativeAccessSpecifierPublic) static class UClass* StaticClass(); static class AWaterBodyExclusionVolume* GetDefaultObj(); }; // 0x0 (0x28 - 0x28) // Class Water.WaterBodyHLODBuilder class UWaterBodyHLODBuilder : public UHLODBuilder { public: static class UClass* StaticClass(); static class UWaterBodyHLODBuilder* GetDefaultObj(); }; // 0x10 (0x2A0 - 0x290) // Class Water.WaterBodyIsland class AWaterBodyIsland : public AActor { public: uint8 Pad_283[0x8]; // Fixing Size After Last Property [ Dumper-7 ] class UWaterSplineComponent* SplineComp; // 0x298(0x8)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, EditConst, InstancedReference, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected) static class UClass* StaticClass(); static class AWaterBodyIsland* GetDefaultObj(); class UWaterSplineComponent* GetWaterSpline(); }; // 0x18 (0x40 - 0x28) // Class Water.LakeGenerator class ULakeGenerator : public UWaterBodyGenerator { public: class UStaticMeshComponent* LakeMeshComp; // 0x28(0x8)(ExportObject, ZeroConstructor, InstancedReference, NoDestructor, NonPIEDuplicateTransient, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic) class UBoxComponent* LakeCollisionComp; // 0x30(0x8)(ExportObject, ZeroConstructor, InstancedReference, Deprecated, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic) class ULakeCollisionComponent* LakeCollision; // 0x38(0x8)(ExportObject, ZeroConstructor, InstancedReference, NoDestructor, NonPIEDuplicateTransient, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic) static class UClass* StaticClass(); static class ULakeGenerator* GetDefaultObj(); }; // 0x0 (0x2C0 - 0x2C0) // Class Water.WaterBodyLake class AWaterBodyLake : public AWaterBody { public: static class UClass* StaticClass(); static class AWaterBodyLake* GetDefaultObj(); }; // 0x10 (0x1540 - 0x1530) // Class Water.WaterBodyLakeComponent class UWaterBodyLakeComponent : public UWaterBodyComponent { public: class UStaticMeshComponent* LakeMeshComp; // 0x1530(0x8)(ExportObject, ZeroConstructor, InstancedReference, NoDestructor, Protected, NonPIEDuplicateTransient, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected) class ULakeCollisionComponent* LakeCollision; // 0x1538(0x8)(ExportObject, ZeroConstructor, InstancedReference, NoDestructor, Protected, NonPIEDuplicateTransient, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected) static class UClass* StaticClass(); static class UWaterBodyLakeComponent* GetDefaultObj(); }; // 0x20 (0x48 - 0x28) // Class Water.OceanGenerator class UOceanGenerator : public UWaterBodyGenerator { public: TArray CollisionBoxes; // 0x28(0x10)(ExportObject, ZeroConstructor, ContainsInstancedReference, NonPIEDuplicateTransient, UObjectWrapper, NativeAccessSpecifierPublic) TArray CollisionHullSets; // 0x38(0x10)(ExportObject, ZeroConstructor, ContainsInstancedReference, NonPIEDuplicateTransient, UObjectWrapper, NativeAccessSpecifierPublic) static class UClass* StaticClass(); static class UOceanGenerator* GetDefaultObj(); }; // 0x0 (0x2C0 - 0x2C0) // Class Water.WaterBodyOcean class AWaterBodyOcean : public AWaterBody { public: static class UClass* StaticClass(); static class AWaterBodyOcean* GetDefaultObj(); }; // 0x50 (0x1580 - 0x1530) // Class Water.WaterBodyOceanComponent class UWaterBodyOceanComponent : public UWaterBodyComponent { public: TArray CollisionBoxes; // 0x1530(0x10)(ExportObject, ZeroConstructor, ContainsInstancedReference, Protected, NonPIEDuplicateTransient, UObjectWrapper, NativeAccessSpecifierProtected) TArray CollisionHullSets; // 0x1540(0x10)(ExportObject, ZeroConstructor, ContainsInstancedReference, Protected, NonPIEDuplicateTransient, UObjectWrapper, NativeAccessSpecifierProtected) struct FVector2D VisualExtents; // 0x1550(0x10)(ZeroConstructor, Deprecated, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected) struct FVector CollisionExtents; // 0x1560(0x18)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected) float HeightOffset; // 0x1578(0x4)(ZeroConstructor, Transient, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected) uint8 Pad_294[0x4]; // Fixing Size Of Struct [ Dumper-7 ] static class UClass* StaticClass(); static class UWaterBodyOceanComponent* GetDefaultObj(); }; // 0x10 (0x38 - 0x28) // Class Water.RiverGenerator class URiverGenerator : public UWaterBodyGenerator { public: TArray SplineMeshComponents; // 0x28(0x10)(ExportObject, ZeroConstructor, ContainsInstancedReference, NonPIEDuplicateTransient, UObjectWrapper, NativeAccessSpecifierPublic) static class UClass* StaticClass(); static class URiverGenerator* GetDefaultObj(); }; // 0x0 (0x2C0 - 0x2C0) // Class Water.WaterBodyRiver class AWaterBodyRiver : public AWaterBody { public: static class UClass* StaticClass(); static class AWaterBodyRiver* GetDefaultObj(); }; // 0x30 (0x1560 - 0x1530) // Class Water.WaterBodyRiverComponent class UWaterBodyRiverComponent : public UWaterBodyComponent { public: TArray SplineMeshComponents; // 0x1530(0x10)(ExportObject, ZeroConstructor, ContainsInstancedReference, Protected, NonPIEDuplicateTransient, UObjectWrapper, NativeAccessSpecifierProtected) class UMaterialInterface* LakeTransitionMaterial; // 0x1540(0x8)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected) class UMaterialInstanceDynamic* LakeTransitionMID; // 0x1548(0x8)(Edit, ZeroConstructor, DisableEditOnTemplate, Transient, EditConst, NoDestructor, Protected, TextExportTransient, NonPIEDuplicateTransient, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected) class UMaterialInterface* OceanTransitionMaterial; // 0x1550(0x8)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected) class UMaterialInstanceDynamic* OceanTransitionMID; // 0x1558(0x8)(Edit, ZeroConstructor, DisableEditOnTemplate, Transient, EditConst, NoDestructor, Protected, TextExportTransient, NonPIEDuplicateTransient, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected) static class UClass* StaticClass(); static class UWaterBodyRiverComponent* GetDefaultObj(); }; // 0x0 (0x28 - 0x28) // Class Water.WaterBrushActorInterface class IWaterBrushActorInterface : public IInterface { public: static class UClass* StaticClass(); static class IWaterBrushActorInterface* GetDefaultObj(); }; // 0x120 (0x690 - 0x570) // Class Water.WaterMeshComponent class UWaterMeshComponent : public UMeshComponent { public: int32 ForceCollapseDensityLevel; // 0x570(0x4)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) uint8 Pad_2A0[0x4]; // Fixing Size After Last Property [ Dumper-7 ] class UMaterialInterface* FarDistanceMaterial; // 0x578(0x8)(Edit, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic) float FarDistanceMeshExtent; // 0x580(0x4)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) float TileSize; // 0x584(0x4)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate) struct FIntPoint ExtentInTiles; // 0x588(0x8)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate) uint8 Pad_2A3[0x98]; // Fixing Size After Last Property [ Dumper-7 ] TSet UsedMaterials; // 0x628(0x50)(Transient, TextExportTransient, NonPIEDuplicateTransient, UObjectWrapper, NativeAccessSpecifierPrivate) uint8 Pad_2A4[0x10]; // Fixing Size After Last Property [ Dumper-7 ] int32 TessellationFactor; // 0x688(0x4)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate) float LODScale; // 0x68C(0x4)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate) static class UClass* StaticClass(); static class UWaterMeshComponent* GetDefaultObj(); bool IsEnabled(); }; // 0x98 (0xD0 - 0x38) // Class Water.WaterRuntimeSettings class UWaterRuntimeSettings : public UDeveloperSettings { public: enum class ECollisionChannel CollisionChannelForWaterTraces; // 0x38(0x1)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) uint8 Pad_2A5[0x7]; // Fixing Size After Last Property [ Dumper-7 ] TSoftObjectPtr MaterialParameterCollection; // 0x40(0x30)(Edit, Config, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic) float WaterBodyIconWorldZOffset; // 0x70(0x4)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) class FName DefaultWaterCollisionProfileName; // 0x74(0x8)(Edit, ZeroConstructor, Config, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate) uint8 Pad_2A6[0x4]; // Fixing Size After Last Property [ Dumper-7 ] TSoftObjectPtr DefaultWaterInfoMaterial; // 0x80(0x30)(Edit, Config, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate) TSubclassOf WaterBodyRiverComponentClass; // 0xB0(0x8)(Edit, ZeroConstructor, Config, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate) TSubclassOf WaterBodyLakeComponentClass; // 0xB8(0x8)(Edit, ZeroConstructor, Config, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate) TSubclassOf WaterBodyOceanComponentClass; // 0xC0(0x8)(Edit, ZeroConstructor, Config, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate) TSubclassOf WaterBodyCustomComponentClass; // 0xC8(0x8)(Edit, ZeroConstructor, Config, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate) static class UClass* StaticClass(); static class UWaterRuntimeSettings* GetDefaultObj(); }; // 0x28 (0x660 - 0x638) // Class Water.WaterSplineComponent class UWaterSplineComponent : public USplineComponent { public: struct FWaterSplineCurveDefaults WaterSplineDefaults; // 0x638(0x10)(Edit, DisableEditOnInstance, NoDestructor, NativeAccessSpecifierPublic) struct FWaterSplineCurveDefaults PreviousWaterSplineDefaults; // 0x648(0x10)(NoDestructor, NativeAccessSpecifierPublic) uint8 Pad_2A8[0x8]; // Fixing Size Of Struct [ Dumper-7 ] static class UClass* StaticClass(); static class UWaterSplineComponent* GetDefaultObj(); }; // 0x78 (0xA0 - 0x28) // Class Water.WaterSplineMetadata class UWaterSplineMetadata : public USplineMetadata { public: struct FInterpCurveFloat Depth; // 0x28(0x18)(Edit, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) struct FInterpCurveFloat WaterVelocityScalar; // 0x40(0x18)(Edit, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) struct FInterpCurveFloat RiverWidth; // 0x58(0x18)(Edit, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) struct FInterpCurveFloat AudioIntensity; // 0x70(0x18)(Edit, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) struct FInterpCurveVector WaterVelocity; // 0x88(0x18)(ZeroConstructor, Deprecated, HasGetValueTypeHash, NativeAccessSpecifierPrivate) static class UClass* StaticClass(); static class UWaterSplineMetadata* GetDefaultObj(); }; // 0xD0 (0x110 - 0x40) // Class Water.WaterSubsystem class UWaterSubsystem : public UTickableWorldSubsystem { public: uint8 Pad_2CC[0x38]; // Fixing Size After Last Property [ Dumper-7 ] class ABuoyancyManager* BuoyancyManager; // 0x78(0x8)(ZeroConstructor, Transient, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic) FMulticastInlineDelegateProperty_ OnCameraUnderwaterStateChanged; // 0x80(0x10)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic) FMulticastInlineDelegateProperty_ OnWaterScalabilityChanged; // 0x90(0x10)(ZeroConstructor, InstancedReference, BlueprintAssignable, NativeAccessSpecifierPublic) class UStaticMesh* DefaultRiverMesh; // 0xA0(0x8)(ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic) class UStaticMesh* DefaultLakeMesh; // 0xA8(0x8)(ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic) uint8 Pad_2CE[0x28]; // Fixing Size After Last Property [ Dumper-7 ] class UMaterialParameterCollection* MaterialParameterCollection; // 0xD8(0x8)(ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate) uint8 Pad_2CF[0x30]; // Fixing Size Of Struct [ Dumper-7 ] static class UClass* StaticClass(); static class UWaterSubsystem* GetDefaultObj(); void SetOceanFloodHeight(float InFloodHeight); void PrintToWaterLog(const class FString& Message, bool bWarning); bool IsWaterRenderingEnabled(); bool IsUnderwaterPostProcessEnabled(); bool IsShallowWaterSimulationEnabled(); float GetWaterTimeSeconds(); float GetSmoothedWorldTimeSeconds(); int32 GetShallowWaterSimulationRenderTargetSize(); int32 GetShallowWaterMaxImpulseForces(); int32 GetShallowWaterMaxDynamicForces(); float GetOceanTotalHeight(); float GetOceanFloodHeight(); float GetOceanBaseHeight(); float GetCameraUnderwaterDepth(); }; // 0x8 (0x30 - 0x28) // Class Water.WaterWavesAsset class UWaterWavesAsset : public UObject { public: class UWaterWaves* WaterWaves; // 0x28(0x8)(Edit, ExportObject, ZeroConstructor, InstancedReference, NoDestructor, PersistentInstance, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate) static class UClass* StaticClass(); static class UWaterWavesAsset* GetDefaultObj(); }; // 0x8 (0x30 - 0x28) // Class Water.WaterWavesAssetReference class UWaterWavesAssetReference : public UWaterWavesBase { public: class UWaterWavesAsset* WaterWavesAsset; // 0x28(0x8)(Edit, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate) static class UClass* StaticClass(); static class UWaterWavesAssetReference* GetDefaultObj(); }; // 0x90 (0x320 - 0x290) // Class Water.WaterZone class AWaterZone : public AActor { public: class UTextureRenderTarget2D* WaterInfoTexture; // 0x290(0x8)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, Transient, EditConst, DuplicateTransient, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic) TArray> OwnedWaterBodies; // 0x298(0x10)(Edit, ExportObject, ZeroConstructor, Transient, EditConst, ContainsInstancedReference, UObjectWrapper, NativeAccessSpecifierPrivate) struct FIntPoint RenderTargetResolution; // 0x2A8(0x8)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate) class UWaterMeshComponent* WaterMesh; // 0x2B0(0x8)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, EditConst, InstancedReference, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate) struct FVector2D ZoneExtent; // 0x2B8(0x10)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate) float CaptureZOffset; // 0x2C8(0x4)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPrivate) bool bHalfPrecisionTexture; // 0x2CC(0x1)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPrivate) uint8 Pad_2D6[0x3]; // Fixing Size After Last Property [ Dumper-7 ] int32 VelocityBlurRadius; // 0x2D0(0x4)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPrivate) uint8 Pad_2D7[0x4]; // Fixing Size After Last Property [ Dumper-7 ] struct FVector TessellatedWaterMeshExtent; // 0x2D8(0x18)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate) uint32 NonTessellatedLODSectionScale; // 0x2F0(0x4)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate) int32 OverlapPriority; // 0x2F4(0x4)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPrivate) bool bEnableNonTessellatedLODMesh; // 0x2F8(0x1)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate) uint8 Pad_2D8[0x27]; // Fixing Size Of Struct [ Dumper-7 ] static class UClass* StaticClass(); static class AWaterZone* GetDefaultObj(); }; }