A downloadable asset pack

Get this asset pack and 211 more for $1,905.38 USD
View bundle
Buy Now
On Sale!
30% Off
$14.99 $10.49 USD or more

Unity strips unused assets when it builds. It documents one exception, and it is the only one that matters here.

"Unity includes assets that are referenced in your project and strips any unused assets during the build process ... The only assets that aren't removed are assets in the Resources folder."

Everything in Resources/ ships. All of it, in every build, forever, because Unity cannot know which file a script will ask for by name at runtime.

Ballast works out which ones nothing ever asks for, moves those out of the build, and hands you a drawn certificate showing exactly how many bytes left.

It never claims an asset is dead. It proves an asset is unreached, and where the question cannot be answered it refuses to act and tells you which line of your code stopped it.

Three answers, and the third is the one that matters

  • IN USE — a literal load site resolves to it. Kept, and the file and line that reached it are cited.
  • UNREACHED — no literal resolves to it, and no dynamic site could reach it. Offered for migration.
  • WITHHELD — a dynamic load site could reach it. Never touched, and the site is named.
Resources.Load<Sprite>("icons/sword");          // decidable  -> IN USE
Resources.Load<Sprite>("icons/" + item.slug);   // prefix known -> icons/* WITHHELD
Resources.LoadAll<Sprite>("icons");             // claims a folder -> icons/** WITHHELD
Resources.Load<Sprite>(pathFromServerConfig);   // nothing known -> the WHOLE tree WITHHELD

That last line is worth dwelling on. If you have one fully dynamic load site, Ballast will migrate nothing at all, and it will tell you which file caused it. That is the correct answer, not a failure. A tool that guessed would eventually move an asset your game loads, and you would find out when a player hit that code path.

Safety is the design, not a setting

  • It migrates, it never deletes. Assets move to a quarantine folder, keeping the shape they came from.
  • The .meta file moves with the asset, so GUIDs survive and every existing reference in every scene and prefab still resolves. Nothing becomes a missing reference.
  • One-click revert, replayed from the manifest, so it is a true inverse rather than a second guess at the path.
  • Read-only until you confirm, and the confirmation names the count and the bytes.
  • Nothing runs on import. Nothing runs on build. You open the window and press a button.

The report is a document, not a list

The certificate carries a tonnage bar per top-level Resources folder sized by real bytes, the reached fraction struck solid and the unreached fraction outlined, a cross-hatched band for the withheld tonnage, the displacement figure set large, and a dateline. The three verdicts are drawn in three different visual languages rather than three colours, so the plate still reads on a greyscale screenshot. Seven paper stocks; export to PNG.

The window also lists every asset with its verdict and its citation. The certificate is what you keep; the list is what you audit.

Compatibility

  • Unity 2022.3 and newer, including Unity 6. Built and gated against 6000.5.7f1.
  • Render pipeline agnostic — Built-in, URP and HDRP. Editor-only, and it rasterises on the CPU, so it touches no pipeline at all.
  • No third-party dependencies. No packages to add, no services, no network calls, no telemetry.
  • All editor code sits in a platform-constrained assembly definition, so none of Ballast ships in your build. The package itself contains no Resources folder, which would be an unusually poor joke in this product.

Performance

The certificate is drawn by a CPU rasteriser, so its cost is proportional to pixel count, and it is composed on demand and cached rather than on window open. Measured across three runs in a blank 6000.5.7f1 project with the shipped package: 550x750 in 0.48–0.59 s, the default 1100x1500 in 1.46–1.80 s, 1650x2250 in 3.08–3.60 s. The high figure is an observation, not a ceiling — a busier machine will exceed it.

The survey itself is fast and unrelated to that: it is a text scan over your scripts plus a directory walk, and it rasterises nothing.

AI disclosure

Code: yes. Graphics: yes — the code that draws the certificate was AI-written; there is no image model anywhere in the art path, and the plate is rasterised offline and deterministically by the shipped code. Sounds: no, the package contains no audio file of any kind. Text and dialog: no.

Purchase

Get this asset pack and 211 more for $1,905.38 USD
View bundle
Buy Now
On Sale!
30% Off
$14.99 $10.49 USD or more

In order to download this asset pack you must purchase it at or above the minimum price of $10.49 USD. You will get access to the following files:

Ballast_Unity_v1.0.0_itch.zip 169 kB

Development log

Leave a comment

Log in with itch.io to leave a comment.