Real-time wave simulation on a procedurally created rectangular mesh. The fluid interacts with rigidbodies as well as responds to interaction. It works like a normal mesh, so any material can be used.
💎 Key points of WaveMaker compared to similar assets
This is a mesh modifier, not a visual trick done with shaders. That means it is actually simulated in 3D in the CPU, so devices with GPU support limitations are supported.
Your shaders don't need to be specific for this asset, if your shader works with a normal mesh, it will work with WaveMaker, so it supports the same rendering pipelines as your shader.
It is a two-way coupling system: Water can affect rigidbodies, volume occupancy is calculated and objects generate waves at the same time. If you pay attention, most buoyancy systems can't do this, allowing for a different way of interaction for your game.
You can use the API of the interactors and surface to gather simulation data and use it for your own purposes.
✔️ What the asset CAN do...
Create small, medium or long surfaces like pools, portals, ponds, simple river shapes...
Generate waves reacting to selected colliders
Apply forces to selected rigidbodies to make them float and drift while generating waves due to volume occupation. Complex rigidbody with overlapped setups supported
Make the waves look like water, mud, cream and denser liquids at the resolution you want
React to static objects or borders by painting the areas of the surface you want to be fixed
Works like any other mesh with your own material (hide parts with transparency, change look using shaders, use the API to generate your own effects. etc)
✨ Current Features
Support from Unity 2020.3.48 until 2023.2.16. and all rendering pipelines
Heightfield-based real-time fluid simulation on CPU
Mesh properties updated real-time to work with lighting
Scene hierarchy agnostic
Wave speed, damping and smoothing parameters. Substepping to avoid instabilities
Simple interaction mode based on relative velocity for any shape or orientation of the surface
Advanced interaction mode based on occupancy of liquid volume for more advanced features on horizontal surfaces like Buoyancy and drifting (floating forces).
Arbitrary surface position and rotation, length and width
Areas can be fixed manually or automatically to ignore them and allow waves to "hit" on them
Timestep independent
Idle/rest status of surfaces to reduce computation to a minimum
Many example scenes and create menu shortcuts included
2026-01-15 00:00:00-update version:WaveMaker 2 v2.3