Sprite Atlas Waste Reporter
Changelog
Every release of Sprite Atlas Waste Reporter, newest first. The current version is 1.0.0.
All notable changes to Sprite Atlas Waste Reporter are listed here. This project follows Semantic Versioning.
1.0.0 — 2026-09-16
First release.
Added
- Per-sprite waste measurement. Bounding box of every pixel above a configurable alpha threshold (default 8), reported as
waste %against the sprite rect andsolid waste %against the box. - Sprite sheet support. A texture sliced into several sprites is measured one frame at a time, so a sheet no longer reports as full.
- Atlas totals. Summed visible pixels against the estimated page, with estimated page size, page count and uncompressed memory before and after cropping.
- Page shrinkers. Names the sprites whose removal alone would take the atlas down a size step.
- Editor window (IMGUI, stock editor styles): scan, filter by minimum waste, search, four sort orders, per-row selection, clickable rows that ping the asset, and a virtualised table that stays responsive on projects with thousands of sprites.
- Console report with clickable lines, and a top-N crop suggestion list.
- CSV export to
<project>/Reports/atlas-waste.csvplus an-atlasescompanion file. Crop boxes are given in both bottom-left (Unity) and top-left (image editor) coordinates. - Three reversible fixes: sprite Mesh Type to Tight, atlas Tight Packing, and an in-place PNG crop that backs up the original and re-anchors the pivot so nothing moves in the scene.
- Change journal in
UserSettings/, with a History panel and per-batch Revert. - Protected rows. 9-sliced sprites and sheet frames are detected and excluded from cropping, with the reason shown in the report.
- Charts panel. Two donuts in the summary block. Atlas page composition splits the estimated page into effective texels, trimmable area, padding and free page area, with atlas occupancy in the middle. Trimmable area by sprite ranks the six worst contributors by absolute trimmable texels plus an "Everything else" slice, and each legend row selects its sprite. Drawn into a cached bitmap so the slices are anti-aliased, the hole is genuinely transparent, and the chart costs one blit per repaint. Colours follow the editor theme on an amber/blue axis with no red-green pairing.
- Demo atlas with seven sprites covering every finding the tool can produce.
Notes
- Editor-only assembly with an empty
referenceslist: Built-in, URP and HDRP all behave identically. - Verified to compile with zero errors and zero warnings on Unity 2022.3 LTS, 6000.4, 6000.5 and 6000.6.
- Scanning never modifies an asset. Nothing is ever written inside
Assets/. - No network access, no analytics, no third-party DLLs, no runtime code.
- Both Sprite Atlas formats are supported: legacy
.spriteatlasand Sprite Atlas V2 (.spriteatlasv2). Tight Packing is written through the importer on V2 and read back before the change is journalled, so a fix is never recorded as applied unless it actually persisted. - Page size and memory figures are an upper bound: the estimator always rounds to a square page while Unity packs non-square pages. See Reading the numbers in the README.