11 / 18
Packages/2D Water Reflection Pro/Updates, caching & Hybrid
TUNE & OPTIMIZE
11 / 18

Updates, caching & Hybrid

Control capture work and separate static scenery from moving actors.

English guideSource: Unity 6000.3.13f1 · URP 17.3.011 October 2026

Reduce work according to what is visible and what changes. Capture scheduling and display-shader animation are separate.

Schedule capture work#

FieldBehavior
Updates Per SecondPositive values cap eligible captures. Zero requests every eligible frame; shader waves can animate between captures.
Skip When Off ScreenSkip when destination is outside the source camera's relevant view. Scene View preview also uses that frustum.
Share Compatible CapturesConservative reuse of a matching fresh capture. Camera/geometry/content must match; Hybrid and object/sorting-filtered captures are excluded.
Editor PreviewThrottled capture outside Play Mode. Disable when only runtime output is needed.
Cache InvalidationManual, On Configuration Change or Interval for stored/static content.
Cache Refresh IntervalSeconds between refreshes for Interval policy.
Dynamic LayersHybrid moving layers inside the effective included mask; remaining included layers form static content.

First reduce capture area, resolution, update rate and unnecessary included geometry. Use static caches for content that stays static. Pooling/sharing does not establish zero allocations or a measured device speedup.

Cached mode#

  1. Choose Cached for mostly static scenery. The first eligible request captures it; subsequent frames show the stored result.
  2. Choose Manual when gameplay knows content or lighting changed, then call RefreshCachedReflection().
  3. Choose On Configuration Change for configuration changes. It does not detect every moving renderer or changed source light.
  4. Choose Interval for periodic refreshes and set the interval in seconds.

Display effects can continue animating over a frozen source image. Refreshing is necessary when static lighting/scenery changes should appear.

Hybrid mode#

  1. Separate scenery and actors onto distinct object layers. Include both; exclude decoration.
  2. Select Hybrid and choose the actor layer in Dynamic Layers. Both effective static and dynamic groups must be nonempty.
  3. Static is cached; dynamic follows the update schedule. Refresh static when its scenery/lights change.
C#
water.SetReflectionMode(ReflectionMode.Hybrid);
water.Settings.Optimization.DynamicLayers =
    LayerMask.GetMask("Actors");
water.NotifySettingsChanged();

// After changing static scenery or its lights:
water.RefreshCachedReflection();

The sorting tradeoff#

Hybrid composites dynamic content above static as two captures. Static transparent foreground cannot interleave in front of one actor and behind another. Use Planar when scene ordering, depth or stencil interaction requires that composition.

Adapted from the supplied guide · PDF pages 22–23.View source guide ↗
Keep creating.ERAGAN STUDIO.

Search a topic, setting or method across all package guides.