Troubleshooting

intermediate troubleshooting

Volumetric Lights 2 (URP) · Troubleshooting & FAQ

Troubleshooting

This page covers the most common issues users encounter with Volumetric Lights 2 for URP and how to resolve them.

Volumetric effect not visible

SymptomYou added a VolumetricLight component but see no effect in the Game view.
CauseDepth Texture is not enabled in the URP Asset.
Solution
  1. Open your URP Asset and confirm Depth Texture is enabled.
  2. Check Project Settings > Quality for per-quality-level URP overrides — enable Depth Texture there too.
  3. Verify the light has a non-zero Range and Intensity.

Effect clips through geometry incorrectly

SymptomVolumetric light appears to clip through walls or floors.
CauseInverted depth texture bug in URP (can happen when MSAA and HDR are both off).
SolutionEnable Flip Depth Texture in the Volumetric Light inspector, or enable MSAA or HDR in the URP Asset.

Transparent objects drawn behind the effect

SymptomTransparent objects (particles, glass, water) appear behind the volumetric effect even though they are in front.
CauseTransparent objects do not write to the depth buffer.
Solution
  1. Adjust the volumetric light’s Render Queue to be lower than the transparent objects, or
  2. Add the Volumetric Light Depth Pre-Pass Render Feature to your URP Renderer. See Transparency Support.

GPU Occlusion Culling breaks after enabling Shadow Occlusion

SymptomAfter enabling Shadow Occlusion on a Volumetric Light, GPU Occlusion Culling (URP 17+ with GPU Resident Drawer) stops working or produces incorrect culling.
CauseThe auto-injected VolumetricLightsDepthRenderer uses the Forward rendering path (cheapest option for the depth capture it performs). Having a Forward renderer in the URP Asset’s Renderer List can disable GPU Occlusion Culling globally when the rest of the pipeline uses Forward+ or Deferred+.
Solution
  1. Locate the VolumetricLightsDepthRenderer asset inside Resources/Shaders/ (or in your URP Asset’s Renderer List).
  2. Change its Rendering Path to match your Default Renderer (Forward+, Deferred or Deferred+).
  3. No other changes are required. The renderer is self-contained and only used internally by the shadow occlusion depth capture.
Trade-off: the depth pre-pass becomes slightly more expensive per shadow-casting light, but GPU Occlusion Culling is preserved.

Shadow issues on Android

SymptomShadows appear broken or do not render on Android.
CauseOpenGL ES limitations on some devices.
SolutionSwitch to the Vulkan graphics API in Player Settings > Player.

Visible banding or stepping

SymptomThe volumetric effect shows noticeable color bands or stepping artifacts.
CauseInsufficient ray-marching quality or dithering/jittering too low.
Solution
  1. Increase Raymarch Quality.
  2. Increase Dithering and Jittering values.
  3. Enable Use Blue Noise for smoother randomization.
  4. If using the Render Feature, increase Blur Passes.

Slow initial build

SymptomFirst build takes several minutes.
CauseShader variant compilation. Each keyword multiplies variants.
SolutionStrip unused shader keywords. See Build Optimizations.

Orthographic camera not working

SymptomEffect does not render correctly with an orthographic camera.
CauseOrthographic support is disabled by default in the shader.
SolutionEnable ORTHO_SUPPORT in Options.hlsl. See Orthographic Camera Support.
Was this page helpful?