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:
TidalCompute → Simulation → FFT Texture Size 64 – Very performant
128 – Default / balanced
256+ – High quality, expensive Compute Update Rate
Where:
TidalCompute → Rates and Callbacks → Compute Hz Lower values reduce GPU workload. Visual impact is usually minimal until you go very low.
Dynamic Rebuilds
Where:
TidalCompute → Simulation → Dynamic 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:
TidalCompute → Rates and Callbacks → GPU 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.