Performance Tips

intermediate performance

Umbra Soft Shadows · Troubleshooting & FAQ

Umbra Soft Shadows is optimized for production use. The main performance drivers are Sample Count and Occluders Count (when Contact Hardening is enabled). Follow these guidelines to balance quality and performance.

Built-in Optimization Options

OptionEffectTrade-off
Loop OptimizationHalves actual texture samples without reducing coverage areaMinimal visual difference at moderate sample counts
Frame Skip OptimizationResolves shadows every other frame, reusing previous resultsMay cause shadow lag during fast camera rotation
DownsampleResolves at half screen resolutionSofter result; good for mobile and VR

Additional Tips

  • Disable Contact Hardening when not needed — it requires extra occluder samples and is the most expensive feature.
  • Normals Source: Reconstruct From Depth is the fastest option in Forward rendering (ignored in Deferred where normals come from G-buffers).
  • Reduce shadow distance and cascade count in the URP asset to lower overall shadow cost.
  • Keep Sample Count and Occluders Count as low as possible while maintaining acceptable visual quality.
  • Reduce Blur Iterations — each additional pass adds a render-target resolve.

Using Profiles for Quality Tiers

Create multiple UmbraProfile assets with different settings for each quality tier (Low, Medium, High). Swap them at runtime from a settings menu:

using Umbra;

// Switch to a mobile-optimized profile
UmbraSoftShadows.instance.profile = mobileProfile;

You can also toggle Umbra entirely by enabling/disabling the component on the Directional Light.

Was this page helpful?