Skip to content

Scene survival heuristic

SceneSurvivor is the highest-confidence automated heuristic in Addressables Leak Detector.

Rule

If a live Addressables handle survives a non-additive scene load without an intervening Release, severity escalates to SceneSurvivor (red).

Why it matters

Non-additive scene changes destroy most scene objects but do not automatically release Addressables handles your code still holds. This is a common source of silent memory growth across level transitions.

Additive vs non-additive

Scene load modeSceneSurvivor triggered?
LoadSceneMode.SingleYes — prior scene unloaded
LoadSceneMode.AdditiveNo — demo scene may stay loaded

The demo Leak + Scene B (Additive) button illustrates a live handle that stays grey/yellow, not red.

Expected demo behavior

  1. Leak + Scene B (Single) — load asset, transition to Scene B without Release → red after return or on observation during transition.
  2. Release + Scene B — Release before transition → no live entry.

False positives

Legitimate DontDestroyOnLoad services that hold handles across scenes may trigger SceneSurvivor. Use [AddressablesIntentionallyPersistent] or allowlist if intentional.

See also

Addressables Leak Detector — Unity Editor documentation