πΈοΈ Zion Dependency Graph
See every reference. Trust every delete.
Overview
Installation
Quick Start
Main Window
Side Panel
Detail Panel
Code References
Find Path
Addressables Audit
Safe Delete
Export
Performance
Honest Limits
Troubleshooting
Changelog
Changelog
Version 1.3.0
Feature release: Addressables duplicate-bundle analysis, object-level false-positive filtering, and a headless CI gate. Fully backwards compatible - existing caches, backups and settings carry over untouched, and a project without Addressables installed sees no new tab, no compile errors, and no change in behaviour.
- Added: Addressables duplicate bundle analysis (new tab). Projects your bundle layout statically from each group's
BundledAssetGroupSchemapacking mode and walks every explicit entry's dependency tree - the same information a build would produce, without running one. Any implicit dependency reachable from two or more distinct bundles is flagged, with the reference chain that puts it there - Added: object-level false-positive filtering. For text-serialised assets the audit reads the actual
{fileID, guid}pairs each referrer points at and intersects them per bundle, so two prefabs referencing disjoint sub-objects of one sprite sheet or FBX are correctly cleared asPartialwith zero wasted bytes - where Unity's own rule flags them and its Fix would isolate them into an unnecessary bundle - Added: fix guidance per finding - no action needed, accept the duplication, promote to a shared group, or merge groups. Never an automatic restructure; thresholds (16 KB accept-duplication ceiling, 25-entry merge ceiling) are shown rather than hidden
- Added: Resources / Addressables overlap detection - assets under a
Resources/folder that are also reachable from a bundle, duplicated between the Resources blob and the bundle - Added: bundle membership on every asset's detail panel, not just flagged duplicates - which bundle(s) an asset lands in, explicit or implicit, and the reference chain responsible; shown for any selected asset once an audit has run, independent of the main dependency cache
- Added: CSV and JSON export for the Addressables report - CSV one row per finding sorted by wasted bytes descending, JSON with the complete duplicate, overlap and membership data
- Added: headless CI entry point
AddressablesAuditCI.RunAndFailIfOverThreshold, invoked via-executeMethod, failing the run with a non-zero exit code when wasted bytes exceed-zionWastedBytesThresholdand optionally writing the report to-zionAuditExportPath. No menu item on purpose, and it only callsEditorApplication.Exitin batch mode - Improved: Addressables audits are opt-in per session, the same reasoning as Find Duplicates in 1.2
- Improved: package-internal assets (default materials and shaders Unity auto-assigns, and anything else under
Packages/) are excluded from findings - you cannot promote or merge a package's asset into your groups, so surfacing it would be noise on every project
Compatibility: Unity 6000.0 LTS or newer, unchanged from 1.2. Addressables 1.21 through 2.x, fully optional and detected at runtime; the Addressables-specific code lives in its own assembly that only compiles when the package is present.
Version 1.2.0
- Added: code string reference detection - Resources.Load / LoadAsync / LoadAll, Shader.Find and Addressables keys (addresses and labels) resolved to project assets; comment-aware, literal-only, updated incrementally on script save
- Added: "Loaded by code" section in the detail panel with click-to-line
- Added: delete dialog warnings when code loads an asset being deleted, and when a selected asset still has inbound references
- Added: case-mismatch warnings for Resources.Load paths
- Added: Find Path mode (toolbar toggle or P; Esc cancels) - shortest chain plus up to four alternatives, wrong-order queries answered in the true direction
- Added: Options menu with a persisted toggle for code detection
- Fixed: backups could silently skip files after a file dialog changed the process working directory - paths now resolve against the project root, every backup copy is verified on disk before deletion is allowed, and an empty backup aborts the delete with an explicit error
- Fixed: removed GraphView's built-in unguarded Cut / Copy / Delete / Duplicate from the node right-click menu - the only delete path is the confirmed, backed-up one
- Fixed: the confirm button rendered as "Delete _Backup" on Windows; it now reads "Backup + Delete"
- Fixed: deleted assets no longer linger in the graph - the view rebuilds after a delete
- Improved: duplicate detection is opt-in per session via the Find Duplicates button - it never runs automatically on editor start, script compile, Play mode, or after a rescan
- Improved: deleting duplicates updates the list in place instead of re-hashing the project
- Improved: orphan detection excludes assets with detected code references
- Improved: dynamic (unresolvable) load calls are detected and listed rather than ignored
Version 1.1.1
- Fixed: event handler lifecycle bug in the dependency graph window
- Improved: allocation and GC reductions across the sync scanner, async scanner, Addressables probe and window code - roughly 5β15% faster scans on large projects with smoother frame timing
Version 1.1.0
- Asynchronous scanning
- Duplicate file detection (Dupes tab)
- Keyboard shortcuts for common actions
- Settings persistence (filter, depth, panel widths)
- Post-delete cache updates - deleting assets is instant, no full rescan
Version 1.0.0 - Initial release
- Interactive node-based dependency graph (pan, zoom, minimap, layered layout)
- Conservative orphan detection with exclusions
- Heaviest-assets view, recents, and type filtering
- Safe delete with timestamped backup and restore
- Graphviz DOT export and Markdown/CSV reports
Support
For bug reports or feature requests, use the contact link on the Asset Store listing.
License
This package is licensed under the standard Unity Asset Store EULA.