Tidal 2 URP

Quick Start

Water on screen, floating objects, and gameplay height in a few steps.

The fastest way to get water on screen is to let Tidal create everything for you. The steps below take you from an empty scene to a floating, physics-driven boat.

1. Create water

From the top menu (or right-click in the Hierarchy) choose:

GameObject → Tidal 2 → Ocean

Infinite, viewer-centred ocean.

GameObject → Tidal 2 → Lake

Bounded body that fills an exact rectangle (Body Size).

Either menu item creates a GameObject with a TidalBody (and its subsystems), a TidalCompute sibling already wired into the body's Core settings, a default water profile, and a surface material - a fully working body with sensible defaults.

Create an Ocean or Lake from the Tidal 2 menu
Ocean creates infinite water; Lake creates a bounded body

2. Assign the Viewer Cam

In the body's Core section, assign the Viewer Cam - the camera that mesh LODs and interaction clipmaps follow. You can leave it empty, in which case the main camera is used.

Assign the Viewer Cam in the body's Core section
Viewer Cam in the body's Core section

3. Press Play - or don't

You can enter Play mode to see the simulation, but you don't have to. Run In Editor (body → Misc) is on by default and simulates the water directly in edit mode, driving the editor player loop so other [ExecuteAlways] scripts tick too.

4. Read water height for gameplay

Sample the surface anywhere from C# with a fast, wake-inclusive CPU query:

float h = body.GetWaterHeight(worldPos);

This includes FFT waves, wake, zones, and volume effects. See Water Queries & API for the full query set and the important sentinel check on the return value.

5. Make something float

Add a TidalBuoyancy component to any Rigidbody, then assign 3-4 Float Points - empty child transforms positioned around the hull. That's all buoyancy needs; it handles per-point uplift, drag switching, current push, and wave slide on its own. For engine and steering input, see the demo BoatController in the Demo/ folder.

How the transform maps to water

The TidalBody transform behaves in a few specific ways:

Next