AssetDatabase.GetDependencies() only resolves hard (serialised field) references.
| Pattern | Tracked |
|---|---|
[SerializeField] Texture2D icon; |
✅ Yes |
Resources.Load<AudioClip>("click") |
❌ No |
AssetBundle.LoadAsset<GameObject>("Prefab") |
❌ No |
Addressables.LoadAssetAsync<Sprite>("star") |
❌ No |
| String-based runtime path at runtime | ❌ No |
For projects using Addressables or AssetBundles, dependency chains shown in BuildLens may be incomplete. Assets still appear in the treemap and asset list because BuildReport captures all packed assets regardless of reference type; only the edges are missing.
Assembly-to-assembly dependencies (e.g. Assembly-CSharp.dll → Unity.InputSystem.dll) are tracked. Individual C# type or method references within an assembly are not.
Shader variants are packed as separate BuildReport entries. BuildLens shows each as an individual node but does not expose keyword combinations or variant counts.
The dependency scan reads AssetDatabase state at the moment analysis runs. If assets were modified or deleted between the build and the analysis, dependency results may not match the built content. Run analysis immediately after a build for best accuracy.
BuildReport provides packedSize (compressed) but not a reliable uncompressed size for any type. Every asset — Texture and Audio included — uses the same 1.3× multiplier on the compressed size as an approximation. There is currently no type-specific calculation; treat UncompressedBytes as a rough indicator, not a measurement.
Nodes using estimates are flagged isUncompressedEstimated: true in the internal .blsnapshot schema — in practice this is true for almost every asset, since the same heuristic applies universally.
BuildLens reads Library/LastBuild.buildreport. Only a completed player build produces this file. Play Mode, script-only compilation, and Editor builds do not.
Unity stores only the most recent LastBuild.buildreport. BuildLens preserves history via snapshots. If you run a new build before analysing the previous one, the previous report is overwritten by Unity — the snapshot for that build will not be available.
Recommendation: run analysis after every build before starting the next.
The treemap renders all assets in a fixed viewport, with no special handling for very large projects — there is no summary or aggregation view for projects with a very high asset count, so very large treemaps may render many small tiles. There is no zoom-in or pan.
When the filtered set exceeds 200, only the top 200 by the active sort mode are shown. The treemap is not capped.
Transitive lists are capped at 200 entries per column to prevent IMGUI performance degradation.
Deleting a snapshot from the History panel is immediate and permanent.
BuildLens uses Unity's IMGUI system. IMGUI does not support GPU-accelerated rendering for the treemap, sub-pixel antialiasing on rectangle borders, or smooth animations. Migration to UI Toolkit is planned for a future major version.
Only one analysis can run at a time. There is no cancel operation — a running analysis runs to completion or failure.
AssetDatabase.GetDependencies() runs on the main thread for Unity 2019.4 / 2020.x compatibility. On large projects (3 000+ assets) this can block the Editor UI for 20–60 seconds. Background-thread execution for Unity 2021.2+ is planned.
BuildLensData/ is machine-local. To share history across a team, commit it to version control.
The diff compares asset presence and size only. Changes to dependency edge structure between two snapshots are not surfaced.
The CSV export includes dependency_count / dependent_count but not the GUID arrays. Use the JSON export (schema v1.1) for full dependency data.
PDF export is not currently available.
| Feature | Status |
|---|---|
| Shader variant keyword breakdown | Planned |
| Budget threshold configuration with CI exit codes | Planned |
| Addressables group and bundle view | Planned |
| Shared / remote snapshot storage | Planned |
| Dependency structure diff between snapshots | Planned |
| UI Toolkit migration (zoom, pan, GPU rendering) | Planned |
| PDF report export | Planned |
| Soft reference detection via static analysis | Under investigation |
| Background-thread AssetDatabase scan (Unity 2021.2+) | Planned |
Feature requests: Discord · Bug reports