Crest is a class-leading water system authored by professional game developers.Documentation • Email • Discord • GitHub • YouTube • XCrest is a trusted water solution by many studios for its quality and performance. It has been implemented in several successful games and simulators and is the subject of SIGGRAPH talks.Nominated for Best Artistic Tool in the 16th Unity Awards.CREST 4 x 5 HIGHLIGHTS————————————–Supports all render pipelines in one package.Re-architectured to further performance scalability.Multiple LOD viewpoints for split-screen multiplayer etc.WebGPU support (experimental).Many new features and improvements.Some features (mostly deprecated) have been removed, while others have been moved to separate packages. Please refer to the Release Notes for more information.Important: The Shallow Water package is NOT required for shallow water. It is an integrated shallow water simulation - a next-generation feature. Crest 5 can still have shallow water using the same features as Crest 4 does.WORKFLOW——————Add water in minutes with two components (water surface and waves).Sane and balanced defaults.Helpful tooltips including materials properties.Detailed help boxes display validation errors directly in the inspector with buttons to fix problems directly.Online and offline documentation.Fully documented scripting API.Supports all three render pipelines in one asset.Imports into the Packages directory as an editable UPM package.No requirement to remove Crest before updating like other assets.FEATURES—————Novel Level of Detail SystemBoth mesh and data are rendered using several LODs. This allows high fidelity up close without sacrificing performance. This system has been used for several years, including multiple successful titles, thus is mature and battle-tested. More information: https://docs.crest.waveharmonic.com/Manual/SystemNotes.htmlMultiple Level of Detail ViewpointsCrest can now have multiple LOD viewpoints to support split-screen multiplayer and multiple camera scenarios.Rich Selection of DataDue to Crest's scalable system, it can execute several data sets. These include Animated Waves (displacement), Dynamic Waves, Water Depth, Water Level, Albedo, Flow, Foam, Shadows, and Surface Clipping. The selection has been expanded since launch to now include Absorption and Scattering.Powerful Input SystemThese data sets have accompanying inputs which can inject and manipulate data. They have different modes so you can use renderers (mesh, trail, line, and particles), textures etc as data sources - this includes Shader Graph support. We provide a waterfall sample to show what can be accomplished without any custom shaders.Query SystemQuery water displacement, normals, and velocity (using asynchronous GPU read back) to get data to the CPU. Furthermore, other data can be queried like flow and signed-distance to the shoreline.Physically Based RenderingSimulated light transport including approximation of reflections, refractions, transmission, scattering, caustics, and shadowing.UnderwaterUnderwater effect with pixel-perfect partial submersion. Includes a meniscus (water line), and models out-scattering (darkening with depth).Water PhysicsBuoyancy and drag are provided with a semi-modular floating object system. With layers, physics can be nested to allow floating objects to behave correctly inside other floating objects (eg barrel in a boat).Deterministic FFT and Gerstner WavesWith innovative "equalizer" style wave authoring, create wave conditions from calm seas to monstrous waves for storms. Multiple wave sets can be blended together, including local waves with edge interpolation. This is the most powerful wave system for Unity.Shallow Water Wave AttenuationDampens waves based on the water depth similar to how they would at shore, and importantly prevents waves from rising above the surface.Important: This is not the same thing as the shallow water simulation, which is a separate asset.Absorption & Scattering SimulationChange absorption and scattering at the texel level. Give rivers and lakes different colors, or simulate various beaches by using the shoreline absorption/scattering.Dynamic Waves SimulationAn advanced dynamic wave simulation used for modelling wakes, ripples, wave reflections, and other forms of waves.Foam SimulationA rich foam simulation where foam dissipates over time. Foam contributions can come from turbulence, shorelines, and foam inputs.FlowAdvects waves, normals, foam, and caustics. Bring your own flow map via a texture or use our many other input modes.Shadow SimulationProvides both soft and hard shadows. The former is used for shadowing the water volume; it will vary the softness by the scattering/absorption coefficients. The latter is used to improve on Unity's shadows, which affect specular highlights.Surface ClippingThis is used to remove the water surface for boats, caves, etc. Holes can be cut using a mesh or signed-distance primitives for extra precision.Varying Water LevelChange the water level to create elevated lakes. It is possible to create a gradient to create rivers and streams which blend seamlessly with lakes and oceans. Bring your own height map via a texture or use our many other input modes.Albedo LayerApply color to the water surface similar to decals. This is perfect for algae in swamps.BioluminescenceWe have added the latest in water rendering trends: bioluminescence. It can be restricted to shorelines or include open water. The effect is very customisable.Advanced RenderingCrest can render motion vectors (as far as we are aware, other water assets do not), and depth for post-processing effects like Depth of Field. It can also render before transparency (experimental) to support Soft Particles, refractive objects like glass, and with a Shader Graph node, apply underwater correctly to transparent objects.Platform SupportWe have an entry under Project Settings which allow you to disable features based on the target platform. We have also added experimental web platform support via WebGPU:https://docs.crest.waveharmonic.com/Manual/Platforms.html#webMobile Rendering ModesWe have added two new rendering options: Simple Transparency (no opaque/depth texture needed) and Simple Mesh mode (quad with no displacement). Both of these options trade accuracy and fidelity for improved performance. They can be very effective on restrictive hardware, like mobile, where tiled rendering is common. For more information:https://docs.crest.waveharmonic.com/Manual/PerformanceGuide.html#mobile-performanceOnline & Offline DocumentationWe provide documentation both online and offline. Documentation includes a fully documented API. Offline documentation is in the form of a PDF. Online documentation can be found here: https://docs.crest.waveharmonic.com/About/Introduction.htmlDocumented APIWe provide an extensive API which is fully documented. Here is the page for the main component: https://docs.crest.waveharmonic.com/API/WaveHarmonic.Crest/WaterRenderer.htmlMuch MorePlanar reflections including Total Internal ReflectionsFlexible time synchronisation to support networking and cutscenesWater shader is a Shader Graph (only two nodes, internals are still HLSL)Gaia Pro VS integrationAnd much morePlease see extension assets below for more features.Please see the Frequently Asked Questions section in our documentation for more important information.Sample scene selection may not include ones shown in marketing materials and screenshots.COMPATIBILITY————————Unity 6 supported.Unity 6 URP Render Graph & compatibility mode supported.Motion Vectors.Depth-based effects like Depth of Field.Raytraced Reflections (HDRP only).Forward, Forward+, Deferred, Deferred+, Perspective, and Orthographic supported.Single-Pass (Instanced), Multiview and Multi-Pass Stereo Rendering (VR/XR) supported.LIMITATIONS——————–Planar reflections currently do not support XR.Unity 6 + BIRP + PS5 possibly not building (Unity bug).Motion Vectors are more expensive for BIRP than other RPs (Unity bug).Depth-based effects (like DoF) are more expensive for BIRP than other RPs (Unity limitation).WebGPU is experimentalThese known limitations may be solved in future versions. Please also read the Technical Details foldout.REQUIREMENTS————————Unity 2022.3, Unity 6.0 or Unity 6.3Shader Graph packageShader compilation target 4.5 or aboveGraphics API that is not OpenGL or WebGLWebGPU requires texture-formats-tier2 support3D rendering (ie URP 2D rendering not supported)One license required for each individual user (see EULA)As a general requirement, it may be necessary to update to the latest patched version of Unity in order for a problem to be solved. Furthermore, legacy versions of Unity are not supported. We only support "Supported" or LTS versions.EXTENSIONS——————–These are optional extensions.CPU Queries: Not required as there are GPU queries provided. This is for GPU-less environments.Paint: Paint data with a non-destructive workflow.Portals: Restrict rendering to a mesh. Useful for aquariums and portholes.Shallow Water: A shallow water simulation. Not required for shallow water, as Crest has wave attenuation. It is a next-generation feature.Shifting Origin: Keeps the camera at zero. Only needed for very large worlds.Splines: Powerful tool for creating lakes, rivers, and more.Whirlpool: Bespoke feature to create a customizable whirlpool.ASSET COMPATIBILITY———————————–We avoid non-standard techniques and are not aware of any major incompatibilities. Third-party assets will need time before integrations are available. We have a list of known integrations, including Cozy 3, Dynamic Water Physics 2 (DWP2), Enviro 3, Expanse and Gaia.Crest is designed to be powerful, flexible, and scalable, which may not be suitable for low-end mobile devices. However, several studios have successfully used Crest on various platforms, including Android, iOS, PC, PlayStation, Switch, and Xbox. While we don’t have direct access to consoles ourselves, we often incorporate feedback from studios.The Crest code incorporates MIT-licensed code. The copyright notices are provided in the included file ThirdPartyNotices.md.CREST 4 MIGRATION——————————There is no assisted migration from Crest 4 to Crest 5. All GUIDs have been regenerated so Crest 5 can be imported alongside Crest 4 for manual migration. Please see our migration guide for more information.

