πΈοΈ Zion Dependency Graph
See every reference. Trust every delete.
Honest Limits
Some references cannot be statically inferred. Listing them up front is part of the trust narrative - and as of v1.2 the list is meaningfully shorter.
Now detected (v1.2)
Resources.Load("path/to/asset")and its Async/All variants, when called with a plain string literalShader.Find("Name")with a literal shader name- Addressables string keys - addresses and labels - with literal arguments
These are resolved to real project assets, listed with file and line, and excluded from orphan detection. See Code References.
Still not detectable
- Loads built from variables, interpolated strings or concatenation - the value only exists at runtime. These call sites are detected and listed as unresolvable, so the blind spots are visible instead of silent
- Manual AssetBundle lookups
AssetDatabase.LoadAssetAtPathin editor scripts- Procedurally assigned materials and runtime-instantiated assets
Sub-asset granularity
The main dependency graph treats each main asset as a single node - it does not split out sub-assets such as sprites in an atlas or meshes inside a model. The Addressables audit is the deliberate exception: it resolves references at the sub-object level specifically so shared multi-object files are not reported as duplicated when nothing actually is.
Addressables size figures are uncompressed
Wasted-bytes numbers in the Addressables audit are uncompressed serialised bytes based on source file length, not the compressed size a real build produces. They are a reliable relative measure of what is duplicated and what to fix first, not an exact install-size figure. A build-accurate number would require reconciling against that build's buildlayout.json, which this version does not do.
Code-to-code references
Script-to-script references are not treated as asset dependencies by this graph. Scripts are excluded from orphan detection for safety.