Built on the Oceanology Pro core
Riverology 3 runs on the same rebuilt foundation as Oceanology Pro, with its rivers, lakes and shallow-water simulation as the product. One codebase instead of two.
Riverology and Oceanology have been separate codebases with separate bugs, separate engine-upgrade work and separate release schedules. Riverology 3 ends that. It is built directly on the Oceanology Pro core, the same rebuilt foundation Pro ships on, and it releases right after Pro rather than months behind it. The practical consequence is that a fix or an engine upgrade that lands in the core lands in both products, and the two behave the same way everywhere they overlap.
What the core already contains
- A water zone and a quadtree water mesh with GPU-driven tessellation, LOD and a dedicated vertex factory, built for open worlds.
- River, lake, ocean, island and custom water body actors sharing one water component base, each with its own collision components.
- A water info texture that encodes surface height, ground depth and flow velocity across the zone, which materials, buoyancy and Niagara all read from instead of querying bodies one by one.
- Three wave systems selectable per body — spectral Gerstner, classic Gerstner and FFT — each runnable live or baked, with dedicated wave bakers and compute shaders. Spectral Gerstner and FFT ship only in Oceanology Pro.
- A GPU shallow water 2D solver with contributor, force, source and wave components, plus a baked rest-state cache for worlds carrying hundreds of water bodies.
- Buoyancy with spherical pontoons, ramp and damping curves, and a separate river behaviour block, coordinated by a buoyancy manager.
- A swimming module that resolves which water body type it is in rather than assuming an ocean, with voxel flotation maths, a wave sampler and ragdoll handling.
- Underwater rendering as a scene view extension with its own exclusion-depth pass and rendering settings, plus a separate water audio module.
- Jump-flood distance field passes for shore and brush work, HLOD support for water bodies, water exclusion volumes, and a Niagara water data interface.
Rivers and lakes are not an afterthought in it
The core models rivers and lakes as first-class body types, not as ocean with a mask applied. The river component generates one spline mesh per spline point, evaluates river width and depth from per-point spline metadata, and carries dedicated transition materials for the two cases that always look wrong in other systems: river meeting lake, and river meeting ocean. That is precisely the half of the core Riverology exists to sell, and it is already built.
Coexistence with Oceanology
Riverology 3 and Oceanology Lite are designed to sit in the same level: Lite brings the ocean, and Riverology 3 brings the rivers and the shallow-water simulation. Because they are built from the same core, a river and an ocean can belong to the same water zone, be rendered by the same water mesh, and hand off to each other through the river-to-ocean transition material instead of meeting at a visible seam. Riverology stays inland — rivers, streams and lakes — and has no ocean of its own. Oceanology Pro already contains every piece of both, so with Pro installed you need neither.
The Riverology 2 codebase against the Pro core
| Feature | Riverology 2 | Oceanology Pro core |
|---|---|---|
| Runtime modules | One runtime module | Five runtime modules plus a separate editor module |
| Where the logic lives | Mostly one Blueprint actor with a thin C++ helper library beneath it | C++ components, subsystems, global shaders and render passes |
| Platform support declared | Win64 only, via a platform whitelist in the plugin descriptor | No platform whitelist in the descriptor |
| Wave systems | Four fixed Gerstner wave slots plus one global displacement block | Spectral Gerstner, Gerstner or FFT in the Pro core, chosen per body; Spectral Gerstner and FFT ship only in Oceanology Pro |
| Water body types | A single river spline actor | River, lake, ocean, island and custom bodies; Riverology exposes the inland ones |
| Interaction and simulation | Flow maps and distance field masking in the material | A GPU shallow water solver with impulse, force and source components |
Numbers from the core
| Modules in the Pro plugin | 5 runtime plus 1 editor |
|---|---|
| Engine version targeted | Unreal Engine 5.8 |
| Water info render target, default | 512 x 512 |
| Water mesh tile size, default | 2400 units |
| Water mesh tessellation factor, default | 6 |
| FFT wave map resolutions (Oceanology Pro only) | 256, 512, 1024 or 2048 |
| Shallow water solver resolution, default | 512 |
| Shallow water solver rate, default | 60 Hz, Courant number 0.45, up to 8 substeps per step |
| Shallow water live render target budget | 48 MB by default |
| Maximum flow velocity encoded in the water info texture | 1024 units per second |