Create everything from calm tropical water and mountain lakes to stormy oceans, rogue waves, breaking waves, flowing rivers, whirlpools, and interactive shorelines, all within one unified water framework.
OceanCore combines advanced water rendering, wave simulation, buoyancy, runtime shoreline detection, water interaction, local water profiles, and environmental effects into a flexible system designed for games of different scales.
📘 Documentation
⭐ Main Features
🌊 Advanced Ocean Simulation
Create dynamic oceans with configurable wave behavior and multiple wave types.
Features include:
🌊 Dynamic Waves
Spawn localized waves anywhere at runtime.
Dynamic Waves can use configurable:
They operate independently from normal ocean waves and can be used for gameplay events, storms, scripted sequences and environmental effects.
⚠️ Rogue Waves
Generate large localized ocean waves that travel through the existing sea state.
Rogue Waves can:
🌊 Breaking Waves
Large waves can transition into fully animated breaking waves.
The wave can progress through:
Cresting → Pitching → Curling → Breaking → Whitewater → Dissolving
Features include:
Breaking Waves can be enabled or disabled independently without removing the original underlying waves.
💨 Wave Crest Spray
Large and steep waves can automatically generate sea spray directly from their crests.
Configure:
🏝️ Realtime Shorelines
OceanCore can detect coastlines and shallow terrain at runtime.
No traditional manual Depth Map baking workflow is required.
Runtime shoreline data can drive:
Changes to the environment can be reflected without rebaking coastline data.
🫧 Realtime Contour & Shore Foam
OceanWaveObstacle can generate configurable foam around islands, rocks and coastlines.
The foam follows the actual waterline, helping prevent foam from appearing incorrectly farther up beaches or sand ramps.
Contour Foam can be enabled or disabled individually per obstacle.
Configurable properties include foam width, intensity, falloff, noise and other visual parameters.
🌴 Ocean Wave Obstacles
Use OceanWaveObstacle to define islands, coastlines and other areas that influence the surrounding ocean.
Features include:
🌊 Shoreline Waves
Ocean Wave Obstacles can optionally generate local waves that travel toward the shoreline.
Unlike global ocean waves, Shoreline Waves derive their direction from the nearby coast.
Configure:
Waves become smaller as they approach the coast and smoothly disappear at the shoreline.
🏞️ Varying Water Levels
OceanCore is not limited to one flat global water height.
Create water at different elevations using a unified local water-level system.
Possible environments include:
Local water levels blend smoothly into surrounding water instead of requiring completely separate water systems.
🏔️ Lake System
Place lakes directly on terrain at any elevation.
A lake can use:
A lake high in the mountains can connect through a river all the way down to the ocean.
🏞️ Spline River System
Create rivers directly in the Scene View using splines.
Draw a river across terrain and connect it between:
Lake → River → Ocean
Features include:
The river can naturally descend across terrain while remaining part of the same OceanCore water framework.
➡️ Dynamic River Flow
River flow is more than a scrolling texture.
Flow direction can affect:
The direction follows the river spline and can be reversed when required.
🔗 Smooth Water Connections
OceanCore supports smooth transitions between different water bodies.
Examples:
Lake → River
River → River
River → Ocean
Transition and blend distances help avoid hard seams, steep endings or obvious intersections between connected water regions.
🎨 Ocean Profiles
Create reusable Ocean Profiles for different water conditions.
Profiles can control the visual and simulation behavior of the water.
Use them for environments such as:
Profiles can also be assigned locally to Lakes, Rivers and Ocean Wave Obstacles.
🌐 Local Ocean Profile Zones
Different areas of the same ocean can use different Ocean Profiles.
For example, the open ocean can remain rough while the water around an island becomes calmer.
Local profiles support:
Features such as Rogue Waves and Breaking Waves can smoothly fade out when entering a profile where they are disabled instead of disappearing instantly.
🌀 Whirlpools, Maelstroms & Vortices
Add an Ocean Vortex component to a GameObject and create localized rotating water effects.
Configure properties such as:
The effect can smoothly appear, disappear and move across the ocean at runtime.
⚓ Buoyancy
OceanCore includes configurable buoyancy for ships and floating objects.
Objects can react to:
Buoyancy and surface sampling are designed to follow the visible water state as closely as possible.
🚢 Ship & Object Interaction
Objects can interact dynamically with the water.
Supported effects include:
Heavy objects can locally influence the water rather than simply floating on an unchanged surface.
💦 Water Surface Interaction
Water interaction can produce localized deformation and visual feedback.
This can be used for:
🌊 Terrain-Aware Water
OceanCore can keep shallow water visually above underwater terrain such as beaches and sand ramps.
This helps prevent wave troughs from disappearing below shallow terrain.
The behavior can be enabled or disabled when needed.
🏖️ Shallow Water & Shoaling
Waves can react to shallow areas as they approach the coast.
This can be combined with:
🪞 Water Rendering
OceanCore includes a configurable URP water rendering system designed for both close-up and large-scale views.
Features include:
🌊 Underwater Rendering
Transition smoothly below the surface with dedicated underwater effects.
Designed to work together with OceanCore's dynamic water surface and local water levels.
🌬️ Wind & Ocean Conditions
Wind settings can influence the appearance and movement of the ocean.
Create anything from calm water to rough storm conditions while keeping other OceanCore systems synchronized.
🗺️ Large World Support
OceanCore is designed for large environments and continuously follows the active viewing area rather than requiring one enormous high-resolution mesh.
Distance-based systems help keep expensive effects focused where they are needed.
⚙️ Performance & LOD
OceanCore includes multiple systems designed for realtime use:
Systems can be individually enabled only where needed.
🛠️ Designed for Customization
OceanCore is designed as an expandable water framework rather than a fixed visual effect.
Customize: