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