Changelog
v14.1
04/12/2025
- Version naming change to match the rest of NWH Physics World assets
- Added KWS2 support and integration demo scene
- Added Crest integration demo scene
- Added support for older versions of Crest (pre 5)
- Added Stylized Water 3 integration demo scene
- Added editor drawers with important info to the WaterDataProviders for easier debugging
v3.13
04/11/2025
- Upgraded to Unity 6000
- Migrated to URP as default render pipeline
- Moved to Package Manager format with Runtime and Samples~ folders
- Water integration now done through samples, asmdefs and scripting define symbols no longer need to be set up
- New DocFX-based documentation with auto-generated API Reference
- Improved code documentation and comments throughout
v2.22
09/09/2024
- Updated to Unity 2022.
- Updated the RaycastWaterDataProvider to avoid obsolete warnings.
- Updated the Vehicle class with input deadzone and other commonly used
constants.
- Updates to CrestWaterDataProvider for Crest 5.
v2.21f2
22/01/2024
- Renamed floating origin to shifting origin because of copyright
claims.
v2.21f1
22/01/2024
v2.21
25/11/2023
- CrestWaterDataProvider cleanup and fixed flow issue with Crest
(@Kyleli).
- Fixed OnExitWaterDataProvider causing index out of range issue.
v2.20
26/06/2023
- Fixed variable CoM combined mass affector is never applied.
- Fixed first mass affector is skipped.
v2.19
09/06/2023
- Editor file restructuring to allow the asset to work without assembly
definitions. Clean import required!
v2.18
29/05/2023
VariableCenterOfMass Fixed null issue when the GameObject is
disabled.
Vehicle onActiveVehicleChanged now passes previous and current
vehicles as params.
WaterObject Fixed the issue where when there are no
WaterDataProviders active the WaterObject would remember the data from
the last WaterDataProvider, instead of falling back to default.
v2.17
22/05/2023
Vehicle Added Vehicle.ActiveVehicle which replaces
VehicleChanger.ActiveVehicle. This removes the dependency of multiple
scripts on VehicleChanger. Also makes the demo scripts work without
it.
Vehicle Added 'isPlayerControllable' option. If this is set to
false the vehicle will never be set as Vehicle.ActiveVehicle. Useful
for trailers and other passive vehicles as the ActiveVehicle is always
the last enabled vehicle.
v2.16
19/05/2023
- Fixed intermittent NaN error caused by WaterObject.
- Fixed SailController lift force direction, introduced in 2.15.
v2.15
16/05/2023
- Updated KWSWaterDataProvider to work with the latest KWS version.
- Fixed SailPreset build bug.
- Fix SailController lift force direction.
- Added SailController separate drag and lift force direction gizmos.
v2.14
11/05/2023
- Added SailPresets to SailController for better adjustability. These
replace the previous lift and drag coefficients and the fixed force
calculation.
- Tab now toggles the demo UI.
v2.13
03/05/2023
- Cleaned up and commented out the sailing code. Added custom editors
for all the sailing scripts.
- Rework of the Submarine and Sink components. Both are now just
VariableCenterOfMass MassAffectors, meaning they act as variable
weight/ballast attached to the ship.
- Transform position of the Sink component itself now determines the
center of mass offset point / point of water ingress.
- Submarine depth input now changes the relative depth instead of
setting the absolute depth value. This means that negative input means
deeper, positive input means shallower.
- VariableCenterOfMass changes, including the removal of the unused
centerOfMassOffset and bug fixes.
v2.12
02/05/2023
- Added sail controller early preview.
- Added Sailboat to the demo.
- Fixed WaterObjectWizard null bug.
v2.11
25/04/2023
- Wake/Sleep has been removed and replaced with the standard Behaviour
enable/disable.
- Common code update.
v2.10
15/04/2023
- “VehicleReflectionProbe” and “FollowVehicleState” are now in Common
code and available in DWP2.
- Fixed GC issue with Mathf.Min.
- Exposed “Awake On Start” option in Settings.
- Added underwater fog to the demo.
- Fixed WaterObject spamming prefab Overrides.
v2.9
12/04/2023
- Common code update.
- ‘registerWithVehicleChanger’ and ‘autoFindVehicles’ have been removed
as they add unneeded complexity. Use
VehicleChanger.Instance.RegisterVehicle() and DeregisterVehicle()
after spawning a vehicle instead.
- Vehicles no longer get woken up automatically if VehicleChanger is
present and active.
v2.8
10/04/2023
- Common code update.
- Updated multiplayer code.
v2.7
10/04/2023
v2.6.2
28/05/2022
v2.6.1
09/05/2022
- Added KWS support.
- Fixed very small triangles getting ignored by simulation.
v2.6.0
06/04/2022
- Added Mirror and PUN2 multiplayer support for AdvancedShipController.
- Added StartOnThrottle option to Engine.
v2.5.6
05/04/2022
- Changed WaterDataProviders from file rename approach to Scripting
Define Symbols approach.
- Missing or incorrectly configured trigger collider on the
WaterDataProvider will now get automatically added if missing,
throwing just a warning instead of error.
- Demo UI changes.
- Improved the documentation regarding WaterDataProviders.
v2.5.5
24/03/2022
- Fixed ReorderableList not working properly in the latest versions of
Unity 2021 and 2022.
- Fixed stabilize roll and stabilize pitch not working for negative
angles.
v2.5.4
22/01/2022
- Added PostProcessing to the demo scene.
- WelcomeMessage fix.
v2.5.3
05/11/2021
- VariableCenterOfMass improvements and bug fixes.
v2.5.2
04/11/2021
- Moved to Unity 2020 LTS.
- Fixed VariableCenterOfMass calculating center of mass incorrectly.
- Fixed issues with assembly definitions.
v2.5.1
01/11/2021
- Fixed issue with simulation mesh not serializing properly.
- Fixed issues with Crest and Lux WaterDataProviders.
- Returned the default Skin Drag Coefficient value to 0.01 (same as pre
2.5).
- Removed unused ‘Water Density’ field from WaterDataProvider.
v2.5.0
30/10/2021
- Rewritten the WaterObject to remove the need for WaterObjectManager
and Synchronize().
- Removed WaterObjectManager.
- Multiple WaterDataProviders can now be present in the scene. Triggers
are used to detect the currently active provider.
- Other bug fixes and improvements.
v2.4.3
08/06/2021
- Moved WaterObject gizmos to WaterObject from WaterObjectDebug. Changes
to make Gizmos more similar to the ones on the initial release.
- Fixed center of mass creep while the Rigidbody is marked as kinematic.
- Fixed WaterObjectWizard using legacy CenterOfMass script.
- Fixed WaterObject trying to access shared data before being
initialized resulting in an out of bounds exception.
- Fixed DragObject NullReferenceException issue.
- Fixed disabled triangle state getting overwritten resulting in
disabled objects still being simulated.
- Fixed multiple issues with WaterObjectManager.Synchronize().
- Optimized WaterObjectManager.Schedule().
v2.4.2
04/05/2021
- Removed unused Package Manager dependencies.
- Moved WaterDataProvider to WaterObject assembly. This was required due
to the circular references between RAMWaterDataProvider and
WaterObject. This will require moving the assembly references for
Crest, Lux or other 3rd party water assets to NWH.DWP2 assembly
definition.
- WaterObjectSetupWizard now adds VariableCenterOfMass instead of the
obsolete CenterOfMass script.
- Fixed MassFromChildren not setting VariableCenterOfMass mass.
- Fixed ReorderableList crashing Editor in Unity 2021.
v2.4.1
14/03/2021
- Removed requirement for .NET 4.x.
- Fixed the import issues introduced with the previous version.
v2.4
09/03/2021
- Added .asmdefs (clean import required).
- (Re)Introduced “Finish Jobs In One Frame” option to the
WaterObjectManager.
- Made InputActions path relative.
- Fixed WaterParticleSystem water line using inactive/incorrect triangle
edges.
- Fixed “Weld Colocated Vertices” being ignored when “Simplify Mesh”
option is disabled.
- Fixed WaterObject gizmos not always being drawn properly.
- Fixed deleting WaterObject causing errors.
- Fixed depth at the center of a split triangle sometimes registers as
too high.
v2.3.3
05/02/2021
- CameraMouseDrag can now be used for both 1st and 3rd person view
(including rotation, panning and camera shake) and will replace other
cameras in the future versions as an universal camera.
- Reworked Submarine script and added a PID controller for better depth
control.
- Added option to synchronize WaterObjects in current scene or all
loaded scenes.
- Fixed editor division by zero when no WaterObjects present.
- Fixed missing ‘using Unity.Burst;’ inside WaterTriangleJob.
- Fixed Burst compatibility on newer versions of Unity.
v2.3.2
17/12/2020
- Added per-object simulation settings.
- Added multiple throttle bindings.
- Fixed inspector entering infinite loop on Unity 2020.2 when
ReorderableList is drawn.
v2.3.1
23/11/2020
- Fixed import bug introduced in v2.3.
v2.3
16/11/2020
- Asset restructure to allow for seamless import of multiple NWH assets
into the same project. Clean import needed.
v2.2.4
28/10/2020
- Fixed 'Simulate Water Normals' option causing issues with
RigidbodyWaterDataProvider when used with a plane.
- Fixed two audio listeners being active at the same time when changing
a vehicle.
- Updated NWH/Common directory to match NVP2.
- Fixed steering value range in editor.
- Fixed sound sources not being visible in the engine inspector.
v2.2.3
23/08/2020
- Fixed foam particles not being generated by WaterParticleSystem.
v2.2.2
14/08/2020
- Fixed missing path error related to SceneInputActions file.
v2.2.1
01/08/2020
- Fixed full stack debugging being forced on by WaterObjectManager
decreasing editor performance.
- Fixed issue with CrestWaterData provider when DWP_Crest was defined as
a leftover from v2.1 and older.
v2.2
17/07/2020
- Moved editor drawing to NWH.NUI for all scripts.
- Added support for R.A.M.
- Added option to weld simulation mesh vertices.
- WaterDataProviders are now MonoBehaviors and have been simplified for
easier implementation of custom providers.
- Cameras, VehicleChanger and other scene scripts are now the same
between NWH Vehicle Physics 2 and Dynamic Water Physics 2. This
enables use of both in the same scene.
- Reworked input to use InputProvider system from NWH Vehicle Physics 2;
both InputManager and InputSystem are now supported. Customizing input
is now much easier.
- Added support for water normals for water systems that can provide
this info.
- WaterObject materials are now ScriptableObjects instead of a static
list.
- Add roll stabilization.
- Improved code related to water object simulation for better
performance.
- Added support for Collider based water.
- Add “IsTouchingWater” to WaterObject.
- Fixed water flow calculation.
- Fixed WaterObjects not being detected in additively loaded scenes.
- Other minor bug fixes and changes.