ASSET.UNREF001

Assets nothing in the build references

Info Assets Report only — manual fix

Unity only builds what’s reachable, so unreferenced files in Assets/ don’t all ship — but plenty of them do, via Resources folders and bundle assignments, and all of them slow down imports, searches and everyone’s mental model of the project. This rule finds the ones nothing can reach.

What the scan looks at

An asset is considered referenced if it’s reachable from any of:

  • an enabled scene in Build Settings,
  • a Resources/ folder (everything there ships regardless of references),
  • a ProjectSettings entry (default materials, splash images, input assets…),
  • an Addressables entry, when the package is installed,
  • an AssetBundle assignment.

Anything reachable from none of those is reported, at Info severity.

The rule refuses to guess. If Build Settings has no enabled scenes, there is no way to tell what enters the build, so the check is skipped entirely and says so rather than reporting your whole project as unused. That case is common in library projects and CI setups.

What it cannot see

Stated plainly, because deleting assets on bad information is expensive:

  • Assets loaded by string path at runtime (Resources.Load outside a Resources folder won’t work, but reflection-based or config-driven loading can reach things a static walk can’t).
  • Assets referenced only from scenes not in Build Settings — a level you haven’t enabled yet is not “unused”.
  • Assets used only by editor tooling, which doesn’t ship but is still needed.

How to use it

Treat the list as a candidate set, not a delete queue:

  1. Sort by size and look at the top — one forgotten 200 MB video costs more than a thousand stray materials.
  2. For each candidate, check it isn’t referenced by a disabled scene you still care about.
  3. Move rather than delete first: park them in a folder outside Assets/ (or a branch), build, and see what breaks.
  4. Commit before anything irreversible.

What PerfLint does about it

Report-only, deliberately, and there won’t be a bulk-delete button. The blind spots above mean a “delete all unused” action would eventually delete something a project needed, and the cost of that is unbounded. The finding gives you names and sizes; the judgement stays with you.

Check your own project. The scan is free, runs entirely on your machine, and reports this rule with the exact assets that trip it — nothing is uploaded.

Install the free scanner See a sample report


Last reviewed · All rules