Tidal 2 URP

Upgrade from v1.0

Breaking changes and upgrade notes for v2.0.

Tidal 2 is a near-complete rebuild of Tidal's rendering, simulation, and interaction stack. The FFT ocean core remains, but almost everything around it is new or rewritten. Read the full list below before upgrading a v1.0 project.

Before you start
  • Back up your project and test the upgrade in a copy first.
  • Upgrade Unity (to Unity 6, 6000.0+) and URP (to URP 17) before upgrading Tidal.
  • Delete the old Assets/Tidal folder before importing Tidal 2 - the packages do not overlay, and Tidal 2 installs to Assets/Tidal 2.

Breaking changes & upgrade notes

  1. Unity 6 + URP 17 required. Upgrade the project before upgrading Tidal. Unity 2022 / 2021 are no longer supported; rendering is built on URP 17's RenderGraph API.
  2. Renderer feature. Remove any old UnderwaterEffectFeature from your URP renderer and add TidalRenderFeature - the validator will flag this. One feature now installs the surface, underwater, and meniscus passes and assigns per-body rendering layers.
  3. Lake bodies. Switch former Lake-mesh bodies to the quad mesh generator with Infinite Bounds off and set the body bounds - same visual result, one system.
  4. Materials. Tidal/Tidal gained many new properties (caustics, SSS, god rays, meniscus, reflections). Existing materials keep working; review the new defaults - they are tuned for a photoreal out-of-box look.
  5. Zones. Zones now bake. If a zone appears inactive, check its Affected Bodies / layer mask against the body - scoping is enforced per body now.
  6. Scripting. Move water-height queries to TryGetWaterSurface / GetWaterHeight on the body (CPU-fast, wake-inclusive). The old per-frame sampling paths were removed with the lake generator.
  7. Has Underwater moved. It now lives in the shared mesh settings (TidalMeshSharedSettings, drawn under the body's Core section). Bodies that had the old checkbox un-ticked revert to the default (on) - re-untick it after upgrading if needed.
  8. Validate. After upgrading, run Window → Tidal 2 → Validator (or the body inspector's validation panel) - the new rules catch every known misconfiguration, including build-only issues like missing bake shaders in Always Included Shaders.
  9. Install folder is Assets/Tidal 2. Upgrading from v1.0: delete the old Assets/Tidal folder before importing (the packages do not overlay).
  10. Ocean Size is now Body Size (TidalMeshSharedSettings.BodySize). Saved scene values migrate automatically; scripts referencing OceanSize must rename.
  11. Wake Produce Foam moved from the body to the interaction canvas (Interaction → Layers). The stored value does not migrate across that move - re-tick it on bodies that used wake foam. Scripts should read TidalCanvasSubSystem.WakeProduceFoam.
  12. Trimmed script surface. Unused public accessors were removed (among them TidalBuoyancy.Submerged01, the canvas layer-enabled getters and MaxLod, cascade debug getters, and the planar subsystem's property-name string constants). Inspector workflows are unaffected; scripts using a removed member should query the equivalent setting via the body's settings objects. Serialized-field renames use [FormerlySerializedAs], so scene and prefab data is preserved.

Removed in v2.0

Full details are in the v2.0 changelog.