Tidal Render Feature
One URP renderer feature that drives all of Tidal's rendering.
TidalRenderFeature is the single URP renderer feature that powers
Tidal 2. Add it to your active URP Renderer asset (Universal Renderer Data → Add
Renderer Feature) - one feature per renderer. It installs the surface,
underwater, and meniscus passes and assigns each body its
per-body rendering layers automatically.
Underwater Defaults
The renderer asset inspector exposes a section titled Underwater Defaults (bodies set to 'Use Render Feature'). Any TidalBody whose matching Underwater setting is Use Render Feature Setting follows the value here:
| Setting | Type | Default |
|---|---|---|
| Volume Masks | bool | On |
| God Rays | bool | On |
| Volumetric Lights | bool | On |
| Volumetrics Resolution | enum | Fixed 960 |
The Volumetrics Resolution dropdown here intentionally has no "Use Render Feature" entry - this instance is the render-feature default that bodies fall back to.
Per-quality-tier defaults
Each URP renderer asset (for example PC, Performant,
Mobile) carries its own TidalRenderFeature instance with its own
Underwater Defaults. Bodies set to Use Render Feature Setting follow whichever
renderer is active, so quality tiers - such as mobile with volumetrics turned off - live on the
renderer assets and switch automatically with the active renderer. Configure each tier's feature
once.
Scripting
The feature is Tidal.Core.TidalRenderFeature, reachable through a singleton at
TidalRenderFeature.Instance. Its properties mirror the Underwater Defaults:
| Property | Purpose |
|---|---|
VolumeMasks | Cross-section mask pass default. |
GodRays | Underwater sun-shaft default. |
VolumetricLights | Point / spot light scatter default. |
VolumetricsResolution | Volumetric light buffer budget. |
var rf = TidalRenderFeature.Instance;
if (rf != null)
{
rf.GodRays = false;
rf.VolumetricLights = false;
}