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.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.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 and no string in your code could name it• BY NAME - a string could reach it, so it cannot be called dead• NOT SHIPPED - referenced, but no scene in your build settings reaches it• IN BUILD - referenced, and a build carries itAnd a separate flag, SHIPS ANYWAY, for the worst case there is: an asset nothing uses that sits under Resources or StreamingAssets, so every player build you make carries it regardless. "Does anything use it" and "does it ship" are different questions, and a tool that answers only one of them buries that case entirely.THE LINE NO DEPENDENCY GRAPH CAN SEEvar icon = Resources.Load("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 your scripts for the strings a graph cannot see and reports the icon as undecidable instead.That covers Resources.Load, Resources.LoadAll, Resources.LoadAsync, AssetDatabase.LoadAssetAtPath and Addressables keys. When a call builds its key at runtime rather than writing it out, the report says how many such call sites exist and treats everything under Resources as undecidable, because no scan can resolve a string that does not exist yet.Comments and string bodies 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 EVIDENCEA verdict you cannot check is a guess. Open any row and the exact assets that reference it are listed, each one a click away in the Project window. 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 TWICETwo 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. Every image is decoded and its pixels are hashed, so the same picture is found however it was saved. 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, MEASUREDOn a generated project of 1270 assets - 1000 textures, 250 prefabs, 10 scenes, 6 of them in the build settings - the whole scan took 0.19 seconds. 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 CHANGEDThe 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• No external dependencies, no accounts, no plugins• Any render pipeline; the tool never renders anythingHONEST LIMITSA string this tool cannot see is a string it cannot follow. Keys assembled at runtime, keys read from a data file, and asset names fetched from a server are invisible to any static scan - the report says how many such call sites exist rather than pretending they are not there. Verdicts describe the project as it is on disk right now, so an asset referenced only by a scene you have not committed is an orphan until that scene exists. Editor extensions that load assets by name through their own helpers are not recognised unless the call matches one of the known patterns. Duplicate detection covers PNG, JPG and JPEG; other formats are listed as not compared rather than quietly treated as unique.Features:• Reverse dependency index: every asset lists the assets 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 under Resources or StreamingAssets• Name-load scanning of Resources.Load / LoadAll / LoadAsync, AssetDatabase.LoadAssetAtPath and Addressables keys• Comments and string bodies blanked before the dynamic-call check, so a comment cannot make a whole folder undecidable• Duplicate images grouped by decoded pixels, not by file bytes, with the recoverable size per group• Stepped scan in 16 ms slices with in-window progress and Cancel; 1270 assets in 0.19 s• Filters by verdict, kind, size and text; CSV export of the complete reportSupported OS: Windows, macOS, LinuxTechnical 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• Duplicate comparison covers PNG, JPG and JPEG; other formats are reported as not compared• Works in any render pipeline; the tool never renders anything• Unity 2022.3 LTS or newer, no external dependenciesDocumentation: included as README.mdAI assistance was used while making this package, and here is exactly where.Code: an AI coding assistant helped write and review the C# source. Every line was compiled and exercised in the Unity Editor by me before submission, including runs against the cases that break naive tools - assets reached only by a string at runtime, and near-identical images that differ in file size but not in decoded pixels.Text: the README, the in-window help and this store description were drafted with AI assistance and then edited by hand for accuracy.Images: no image content is AI generated. Every screenshot is a real capture of this tool running in the Unity Editor with a real project loaded, and the figures visible in them (734 assets scanned, 15.0 MB orphaned, 215 not shipped, 13 reachable by name, 0.8 s scan) are that run's actual output. AI was used only to place those real screenshots on a background and to write the caption text around them.Nothing in the package generates content at runtime. It is a static analysis tool: it reads the project's own dependency data and source files, and reports only what it can prove, saying "cannot tell" where it cannot.

