Hi everyone!
I’ve been working on a water system for Godot 4.7.2+ for a while now, and I think it’s time to show a preview and hear what you think.
Swell aims to cover whatever water your game needs:
- Open ocean – Gerstner or spectrum (FFT) waves, presets from calm to storm, rogue waves
- Foam – whitecaps, breaking crests, foam that lingers, foam around objects and on the shore
- Shores – waves that shrink in shallow water, surf, swash and wet sand
- Rivers, streams, waterfalls and lakes
- Weather – wind, rain, puddles, snow and ice
- Boats – buoyancy, wakes, bow spray, prop wash and simple sailing
- Under the water – fog, caustics, god rays and the surface seen from below
- Reflections, refraction and light – sun and moon glitter, light through the crests, sea sparkle at night
- A cartoon style if you don’t want realism
The demo
To show it all, I built a demo with 42 small chapters, one feature each. Every chapter has a panel with camera views and live settings, so you can see what each slider actually does. It also runs with a gamepad. The video below walks through all of them – it’s long, so skip around as much as you like.
Below is a general video of my demo that shows where I navigate the demo:
[VIDEO]
Se more videos on my BlueSky… Or my YouTube…
Terrain3D and Sky3D
If you use Terrain3D or Sky3D, Swell can talk to them a little: waves shrink over Terrain3D’s shallows and boats know where the land is, and with Sky3D the water follows its sun, moon and clouds (with their shadows on the water). Nothing fancy, but it’s there.
Requirements
- Godot 4.7.2 or newer (also tested on 4.8-beta2)
- Forward+ only – Mobile and Compatibility aren’t supported
- Desktop (Windows, Linux)
- GDScript only, no C# needed (C# can call it, though)
- Quality levels (Low to Ultra) for slower and faster cards
Free on GitHub
Both the plugin and the demo will be free on GitHub, so you can dig into every chapter, see how it’s set up and use it in your own projects.
This is a preview. And this addon and demo will be amazing for you to use for free in your projects! ![]()
If you want to know when it’s out, follow me on Bluesky, where I post clips and progress:
Thanks for taking a look! ![]()




