Tidal 2 URP
New in v2.0

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:

SettingTypeDefault
Volume MasksboolOn
God RaysboolOn
Volumetric LightsboolOn
Volumetrics ResolutionenumFixed 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:

PropertyPurpose
VolumeMasksCross-section mask pass default.
GodRaysUnderwater sun-shaft default.
VolumetricLightsPoint / spot light scatter default.
VolumetricsResolutionVolumetric light buffer budget.
var rf = TidalRenderFeature.Instance;
if (rf != null)
{
    rf.GodRays = false;
    rf.VolumetricLights = false;
}
Note: The required bake shaders must be listed in Project Settings → Graphics → Always Included Shaders, or they will be stripped from builds. The Validator checks for this - run it before building.