Game Ready for Unreal Engine 5.8, with validated support for open worlds, multiplayer, dedicated servers, and Editor, Development, and Shipping targets
Approximately 60% higher performance than NextGen 1.3.0 in representative water-heavy scenes; results vary by hardware, scene complexity, camera view, and quality settings
Full release notes 41 changes
Highlights
Game Ready for Unreal Engine 5.8, with validated support for open worlds, multiplayer, dedicated servers, and Editor, Development, and Shipping targets
Approximately 60% higher performance than NextGen 1.3.0 in representative water-heavy scenes; results vary by hardware, scene complexity, camera view, and quality settings
Sharper coastlines, richer breaking waves, persistent foam, and rebuilt buoyancy and swimming that remain synchronized in multiplayer
Sharper Shorelines & WaterInfo
New WaterInfo render pipeline captures water height, ground height, velocity, signed shore distance, and shoreline gradient in one unified system
GPU Jump-Flood SDF replaces the legacy RVT water-depth and shoreline pipeline with sharper, more stable terrain-aware data
Infinite oceans use a camera-following capture window while finite water bodies retain fixed local bounds
World Partition landscapes are gathered from the streamed cells intersecting the active capture window
Water depth and opacity masks now clamp safely to valid WaterInfo coverage instead of flattening or leaking beyond the captured terrain
Additional Water Mask blending restored to maximum-combine behavior for predictable material masking
Waves, Breakers & Foam
New procedural shoreline breakers use the signed-distance field, shoreline gradient, and water depth to form curling waves at the coast
Breaking waves skip open-ocean and invalid capture regions, preventing false breakers where no coastline exists
Production foam pipeline adds crest-locked breaker foam, spectral foam persistence, configurable decay, and smooth cascade hand-off
Per-cascade wave render-target resolution and a unified quality control keep Near, Medium, and Far simulation bands synchronized
Altitude-aware Near-to-Medium-to-Far morphing is shared by wave displacement, normals, foam, and QuadTree tessellation LOD
New synthesized detail normals preserve small-scale surface motion across every cascade, including distant water
Spectral wave parameters now update reliably across materials, Niagara, presets, surface rendering, underwater rendering, and CPU physics
One world water clock keeps every water body, renderer, Niagara system, and dedicated-server query in sync
Open-World Performance
Hidden-water capture pausing, change-driven shoreline updates, shared lake wave resources, and reduced per-frame work deliver the largest performance gains in this release
Exact GPU water-visibility queries pause wave captures when water is fully hidden and resume them without a stale frame
View-aware capture cadence skips hidden or unnecessary cascade work while forcing a complete refresh whenever the capture window moves
All lakes share one managed wave render-target set instead of allocating and updating a full set per lake
WaterInfo and shoreline SDF captures update only when their inputs or capture window change
QuadTree rebuilds, material parameter pushes, underwater post processing, ocean audio, and far-mesh generation avoid redundant per-frame work
Analytic wave bounds improve culling accuracy for both infinite oceans and bounded water bodies
Buoyancy, Swimming & Multiplayer
Rebuilt adaptive buoyancy supports boats, rigid bodies, characters, and kinematic objects through one automatic configuration path
Shape-aware flotation, automatic mass and damping, live voxel rebuilding, and frame-rate-independent substepping improve stability across differently sized bodies
Swimming is fully independent from buoyancy and computes its own capsule immersion for reliable shore entry and exit
Deterministic CPU wave mirroring reproduces the rendered spectral and breaking surface for gameplay and dedicated servers without a GPU
Server-authoritative replicated movement prevents client physics from fighting buoyancy and navigation forces
Water Contact support provides collision-free editor surface snapping and consistent runtime water-entry state
Buoyancy, swimming, raft, beach ball, ship, and character examples were retuned through multiplayer and packaged-game playtesting
Underwater, Glass & Interaction
Surface, underwater, caustics, and glass effects now consume the same live wave cascades and synchronized water time
Nested underwater volumes use innermost-water-body priority for stable post-process selection
Glass and Dome FX now receive live wave render targets through a native actor with automatic nearest-water resolution
TrueFlowFX interaction, beach foam, the parent water material, and material instances now share one consistent response contract
Shared masking logic keeps underwater, glass, shoreline, and interaction effects aligned across materials
Fixed underwater-property crashes when optional landscape data is unavailable and prevented audio overlap volumes from interfering with Niagara world collision
Game-Ready Release & Unreal Engine 5.8
Oceanology NextGen 1.9.0 is the game-ready release for open-world, multiplayer, and dedicated-server projects on Unreal Engine 5.8
Full Unreal Engine 5.8 API, shader, material, Niagara, and Win64 build compatibility update
Standalone Fab BuildPlugin validation now succeeds for Editor, Development, and Shipping targets with zero warnings and zero errors
Removed project-only tooling and undeclared plugin dependencies from the commercial package
Declared Enhanced Input explicitly and removed an external dependency for shared time and CPU shader helpers
Fixed source-build IWYU issues, non-unity compilation errors, stale asset-path overrides, and mannequin Control Rig cooking failures
Water materials, foam assets, marine content, demonstration maps, and validation scenes updated for the 1.9.0 release
v1.3.1
Packaging Fix & Volumetric Fog Material Correction
Fixed fatal CDO construction crash that prevented project packaging on source builds
Fixed VolumetricFog underwater material not rendering (incorrect Shading Model)
Full release notes 3 changes
Highlights
Fixed fatal CDO construction crash that prevented project packaging on source builds
Fixed VolumetricFog underwater material not rendering (incorrect Shading Model)
Bug Fixes
Fixed CDO construction crash (GEngine not initialized) in OceanologyBattleShipPawn — SetPhysMaterialOverride now guarded with RF_ClassDefaultObject check to prevent physics material queries during CDO creation
Fixed VolumetricFog underwater material (M_UnderOcean_VolumetricFog) not rendering — Shading Model corrected from Unlit to DefaultLit
Fixed Fab Store build: added missing TimerManager.h and LocalPlayer.h includes
v1.3.0
Ship Navigation, PredictiveInterpolation & Standalone Game Support
Complete C++ ship navigation system with spline-based FlowController and two flow modes
PredictiveInterpolation with CubicInterp for butter-smooth vessel replication at 30Hz
Full release notes 31 changes
Highlights
Complete C++ ship navigation system with spline-based FlowController and two flow modes
PredictiveInterpolation with CubicInterp for butter-smooth vessel replication at 30Hz
Standalone Game & Dedicated Server buoyancy fully operational without rendering
Ship Navigation System
New OceanologyFlowController C++ actor — defines water currents via spline with configurable speed and width
Two flow modes: Force (Legacy) for simple current push, Navigation (Natural) for realistic ship handling
Navigation mode three-phase control: steering via AddTorque, propulsion via AddForce, lateral drag for sideslip prevention
Speed-dependent look-ahead steering — ships begin turning before reaching curves for natural cornering
Force mode mass-proportional scaling — vessels of any size respond naturally to the same current
FlowController automatic tag-based assignment to vessels on BeginPlay
BattleShip C++ Actors
Migrated BattleShip from Blueprint to pure C++ for performance and reliability
OceanologyBattleShipPawn — full-featured Pawn with camera, input, and player control
OceanologyBattleShipBase, Box, and Custom variants for AI and flow-driven ships
Player input: W/S for forward/reverse, A/D for rudder with speed-dependent steering
VisualSmoothRoot for client-side frame interpolation without double smoothing
Force-based propulsion replaces SetVelocity — works correctly with physics and buoyancy
AutoConfigure Systems
Shape-aware AutoConfigurePontoons — detects collision geometry and places pontoons accordingly
AutoConfigureBuoyancy — 6-pontoon layout (Bow, Midship, Stern) with mass-proportional tuning
Automatic linear/angular damping: scales with MassFactor for vessels of any weight
Default mesh density (620 kg/m³) and water fluid density (1030 kg/m³) for realistic floating
PredictiveInterpolation
Temporal CubicInterp using server state buffer for smooth vessel movement on clients
Override PostNetReceiveLocationAndRotation to prevent UE5 snap-to-server competing with interpolation
ETeleportType::TeleportPhysics for zero physics overhead on interpolated clients
30Hz NetUpdateFrequency provides equivalent smoothness to 60Hz with linear interpolation at half bandwidth
InterpolationBackTime auto-calculated: >= 3x server send interval (0.1s at 30Hz)
Standalone Game & Dedicated Server
Fixed wave time frozen at 0 on dedicated servers — automatic fallback to GetWorld()->GetTimeSeconds()
Buoyancy activation via fallback timer with OverlapComponent check when overlap events fail
Water Volume SetGenerateOverlapEvents(true) ensures overlap detection in Standalone Game
Works correctly in PIE, Standalone Game, and Packaged Builds without configuration changes
Multiplayer
bDisableClientPhysicsSimulation enabled by default — eliminates client gravity fighting server corrections
Flow properties (spline, speed, width) replicated with push-based networking
Server-authoritative flow forces — client changes silently ignored for security
VerifySetup validator checks NetUpdateFrequency and MinNetUpdateFrequency on replicated actors
Rendering & Waves
Removed hardcoded distance culling from wave shaders for user-controlled LOD