Tidal URP

Tidal Compute

TidalCompute is the GPU-driven FFT simulation that generates wave data used by one or more TidalBody instances. This is typically the most expensive part of Tidal, and in most projects you should use one compute and share it across bodies.

What TidalCompute does
  • Runs the FFT simulation (3 cascades: large, mid, small waves)
  • Applies a TidalProfile (Local + Swell spectrums)
  • Optionally caches heights on GPU and reads back for C# queries
  • Exposes water displacement sampling used by buoyancy and gameplay

Where to edit

Component Location
  • Component: TidalCompute
  • Attached to: Your main water simulation GameObject

Key settings

FFT Resolution
Where: TidalComputeSimulationFFT Texture Size
64   – Very performant
128  – Default / balanced
256+ – High quality, expensive
Compute Update Rate
Where: TidalComputeRates and CallbacksCompute Hz

Lower values reduce GPU workload. Visual impact is usually minimal until you go very low.

Dynamic Rebuilds
Where: TidalComputeSimulationDynamic

If disabled, the system won’t rebuild cascades when spectrum values change. Great for static water. You can toggle this at runtime via code if needed.

GPU Height Readback (C# Water Queries)
Where: TidalComputeRates and CallbacksGPU Cache Heights, GPU Cache Hz

Disabling readback removes GPU → CPU transfers, but you’ll lose access to accurate CPU-side queries like GetWaterHeight workflows that rely on cached data.

Best practice: One TidalCompute shared by all bodies → lower FFT size → lower Compute Hz → then consider disabling GPU readback if you don’t need C# height queries.