Using RefSafe Pro

The Cleaner tab

The Cleaner finds content your project no longer needs. Because deleting assets is the most destructive thing RefSafe can do, this tab is built around confirming before acting.

What it finds

Unused assets — assets with zero incoming references from anywhere else in the project.

Empty folders — folders containing no assets, which accumulate silently after refactors.

Duplicate assets — byte-identical files stored twice. Detection buckets candidates by file size first, then confirms with an MD5 hash. Hashes are cached, so re-scans only hash files that changed.

Import-settings audit — two settings that quietly cost memory:

  • Textures with Read/Write Enabled, which doubles their memory footprint
  • Audio clips ≥ 1 MB set to Decompress On Load, which holds the decompressed clip in memory

Both have a one-click Fix per row, plus Fix All.

Build-weight analysis — walks the dependency graph outward from every enabled scene in Build Settings and reports the 50 heaviest assets actually reachable from a build. This is the list that matters for download size, as distinct from what’s merely large on disk.

Read “unused” carefully

An asset with no incoming references is not necessarily safe to delete. RefSafe finds static references — serialized links between assets. It cannot see:

  • Assets loaded by string path through Resources.Load
  • Assets loaded through Addressables by address at runtime
  • Assets referenced from code by name
  • Assets loaded by an asset bundle built outside the normal dependency graph

Every unused-asset row has a “Why was this flagged?” expander explaining what RefSafe checked. Read it before deleting anything you didn’t create yourself.

Protected assets

The Cleaner keeps a two-layer protection list.

Built-in defaults cover asset classes that are commonly reference-free but never safe to delete — sprite atlases, input action assets, lighting settings, and similar.

Your patterns are project-specific. Add path patterns for anything loaded dynamically: Assets/Resources/** is the usual first entry on any project using Resources.Load.

Protected assets are excluded from deletion entirely, not merely warned about.

Dry-run preview

Every batch delete opens a preview window first, showing:

  • Total asset count and total size to be removed
  • A breakdown by asset type
  • The largest items in the selection

Nothing is deleted until you confirm from this window.

Automatic backup

On confirming a delete, RefSafe exports the affected assets to a .unitypackage before removing them. The Cleaner toolbar has a one-click Restore that re-imports the most recent backup.

This is the safety net that makes the Cleaner usable on a project you care about. It’s automatic — there’s no setting to remember to turn on.

Suggested workflow

  1. Run a Cleaner scan.
  2. Add protection patterns for anything loaded dynamically, then re-scan.
  3. Start with empty folders — zero risk.
  4. Move to duplicates — keep one copy, repoint references.
  5. Work the import-settings audit — pure win, no deletion involved.
  6. Review unused assets last, in small batches, reading the “Why?” expander as you go.

Commit between steps. The .unitypackage backup is a safety net, but source control is a better one.