View on Asset Store (opens in new tab)
Package details
- Latest version
- 1.0.5
- Last updated
- First released
- Unity version
- 2022.3.62 or later
- Package size
- 54 KB
- Files
- 19
- Views in the past week
- 7
Price tracking
- Last checked
- Tracked since
- Lowest recorded
- $9.99 on
Keywords
Quick Asset Audit Pro
by Krykftn | Advanced Editor Tools & Systems (opens in new tab)
- Price drop
Find the assets your project carries and nothing uses, with the evidence for every verdict - and an honest "cannot tell" for anything a string in your code could still reach.
Lowest recorded price
Get 60% off on Asset Store (opens in new tab)Affiliate link · Purchases support this site
Price history
Last 6 months
USDAsset preview
1 / 3
Quick Asset Audit Pro screenshot 1
About this asset
There is a texture in your project from an event that ended two years ago. No scene references it, no prefab references it, and nobody remembers. Multiply that by a few hundred files and you have a repository nobody wants to clean, because being wrong once means a missing sprite in a build, on a device, with no error to point at.
Every "find unused assets" tool answers the easy half of that question. This one is built around the dangerous half.
FOUR ANSWERS, NOT ONE
• ORPHAN - nothing references it, no project setting points at it, and no string in any script could name it
• BY NAME - code can reach it without a reference, so it cannot be called dead; the row says how
• NOT SHIPPED - referenced, but nothing a player build uses reaches it
• IN BUILD - referenced, and a build carries it
And a separate flag, SHIPS ANYWAY, for the worst case there is: an asset nothing uses that sits in a Resources folder, so every player build you make carries it regardless.
WHAT COUNTS AS A USE
The dependency graph is only the start. The scenes in your build settings, the render pipeline and quality levels, icons and splash images, always-included shaders and the config objects packages keep in the build settings are all uses, and so are Addressables group entries and shader #include files. Without them a tool calls your render pipeline asset an orphan: measured on Unity 6's URP template, our own version 1.0.1 did exactly that, and reported the template's only scene as dead weight.
THE LINE NO DEPENDENCY GRAPH CAN SEE
var icon = Resources.Load<Texture2D>("LeafIcon");
LeafIcon is referenced by nothing. A dependency graph says it is dead, and deleting it breaks the game at runtime with no compile error to warn you. This tool reads every script, yours and the packages', for the strings a graph cannot see, and reports the icon as undecidable instead.
That covers Resources.Load, LoadAll and LoadAsync keys (written out or held in a const, and matched without case, as Unity does), string literals that end in an asset's path, Shader.Find names, TextMesh Pro's rich-text folders, and the folders Unity reads by name: StreamingAssets, Editor Default Resources and Gizmos. When a call in your scripts builds its Resources key at runtime, the report says how many such calls exist and treats everything under Resources as undecidable, because no scan can resolve a string that does not exist yet.
Comments are blanked out before that check runs. One sentence in a comment that merely mentions Resources.Load would otherwise make your whole Resources folder undecidable, and a report that says "I cannot tell" about everything is worth nothing.
EVERY ROW CARRIES ITS EVIDENCE
A verdict you cannot check is a guess. Open any row and the exact assets and settings that reference it are listed, each one a click away, with the reason code can reach it by name. Filter by verdict, by kind, by size or by text, and export the whole report as CSV, including the rows the window truncates.
THE SAME PICTURE, SAVED TWICE
Two exports of the same artwork rarely share a single byte - a different compression level is enough to change every one of them. Hashing files finds only the easy half. PNG and JPG images are decoded and their pixels and size are hashed, so the same picture is found however it was saved; other formats are compared by their bytes. The sample ships a pair that proves it: two files with no bytes in common and identical pixels.
Decoding reads the file directly, so the importer's Read/Write flag is never touched and no import setting changes.
SPEED, MEASURED
Reading package scripts is most of the work. On a Unity 6 URP project with 1594 assets - 1000 textures, 250 prefabs, 10 scenes, 7 of them in the build settings - and 6719 package scripts, the scan took 3.1 seconds the first time and 1.8 seconds after that. It runs in 16 ms slices from the editor's update loop rather than one blocking pass, so the window keeps drawing, the progress bar moves and Cancel works at any moment. No modal dialog, no frozen editor.
NOTHING IS CHANGED
The scan reads. It does not move, rename, reimport or delete anything, and it never changes an import setting. Acting on the report is your decision and your keystroke.
REQUIREMENTS
• Unity 2022.3 LTS or newer (tested on 2022.3 and Unity 6)
• No external dependencies, no accounts, no plugins
• Any render pipeline; the tool never renders anything
HONEST LIMITS
A string this tool cannot see is a string it cannot follow. Keys assembled at runtime, keys read from a data file, asset names from a server and names used by precompiled code are invisible to any static scan. Scripts, assembly definitions and native plugins are not judged, because the compiler, not the asset graph, knows whether they are used. Assets an editor window finds by type, such as scene templates, read as orphans.
From the publisher's Asset Store listing.
Technical details
Features:
• Reverse dependency index: every asset lists the assets and settings that reference it, with a click to select each one
• Four verdicts - ORPHAN, BY NAME, NOT SHIPPED, IN BUILD - plus a SHIPS ANYWAY flag for dead weight in Resources folders
• Build scenes, project settings (render pipeline, quality, icons, config objects), Addressables groups and shader #include files count as uses
• Name scanning of your scripts and package scripts: Resources keys (written out or in a const, case-insensitive), path literals, Shader.Find names and TextMesh Pro rich-text folders
• Comments blanked before the dynamic-call check, so a comment cannot make a whole folder undecidable
• Duplicate images grouped by decoded pixels and size (PNG, JPG) or by file bytes (other formats), with the recoverable size per group
• Stepped scan in 16 ms slices with in-window progress and Cancel; 1594 assets and 6719 package scripts in 1.8 s (3.1 s the first time)
• Filters by verdict, kind, size and text; CSV export of the complete report
Supported OS: Windows, macOS, Linux
Technical notes:
• Namespaced under Krykftn.QuickAssetAuditPro, editor-only assembly definition
• Read-only: nothing is moved, renamed, reimported or deleted, and no import setting is changed
• Image decoding reads the file directly, so the importer's Read/Write flag is never touched
• Scripts, assembly definitions and native plugins are not judged; the summary says how many were left out
• Works in any render pipeline; the tool never renders anything
• Unity 2022.3 LTS or newer (tested on 2022.3.62f2 and 6000.3.12f1), no external dependencies
• Documentation: included as README.md
Compatibility
| Unity version | Built-in | URP | HDRP |
|---|---|---|---|
| 2022.3.62f2 | Compatible | Compatible | Compatible |
Works in any render pipeline. The tool is editor-only and never renders anything: it reads the asset database, the build settings and your scripts, and produces a report. Nothing is moved, renamed, reimported or deleted, and no import setting is changed.
As listed on the Asset Store.