Crest is a technically advanced ocean renderer implemented in Unity3D 2019.4 and later. The version hosted here targets the built-in render pipeline, a link to the scriptable render pipeline versions (URP/HDRP) on the Asset Store are below.
Discord for news/updates/discussions: https://discord.gg/g7GpjDC
Twitter: @crest_ocean
URP asset: Crest Ocean System URP
HDRP asset: Crest Ocean System HDRP
Your game here! We're looking for projects to showcase - if you upload a video of your work to youtube and send us a link (or create a pull request) we'll put a thumbnail here and link to it.
Refer to USERGUIDE.md for full documentation, including Initial setup steps.
There is also a getting started video here: https://www.youtube.com/watch?v=qsgeG4sSLFw&t=142s .
- Unity version:
- The SRP assets on the Asset Store specify the minimum version required.
- Releases on this GitHub target the built-in render pipeline, and each release specifies which version of Unity it was developed on. Currently Unity 2019.1 or later is the minimum version. A legacy version which supports 2018.4 is available here.
- Crest example content:
- The content requires a layer named Terrain which should be added to your project.
- The post processing package is used (for aesthetic reasons), if this is not present in your project you will see an unassigned script warning which you can fix by removing the offending script.
- .NET 4.x runtime
- Shader compilation target 4.5 or above
- Crest unfortunately does not support OpenGL or WebGL backends
One way to obtain Crest is take the latest version in the master branch by forking/cloning this repository or by using the green download button above. The files that should be copied into an existing project are under crest/Assets/Crest. Note that crest/Assets/Crest/Crest-Examples contains example content that is useful for first time users but not required for the core Crest functionality.
Releases of this version of Crest are published irregularly and posted on the Releases page. Unity packages are uploaded with each release which can be imported into your project using Assets/Import Package.
If you encounter an issue, please search the Issues page to see if there is already a resolution, and if you don't find one then please report it as a new issue.
There are a few issues worth calling out here:
- Sky solutions such as Azure[Sky] requires some code to be added to the ocean shader for the fogging/scattering to work. This is a requirement of these products which typically come with instructions for what needs to be added. See the wiki for examples.
- This built-in render pipeline version of crest requires the Draw Instanced option on terrains to be disabled at start time. It can be re-enabled subsequently after the depth cache is populated. See issue #158.
- Crest does not support OpenGL or WebGL backends