Quick answer: Unity AssetBundle cache going corrupt after mobile pause/resume? Suspended loads leave partial files - validate cache on resume.

Player suspends app mid-download. Resume: bundles fail to load with corrupt signature.

Validate on resume

OnApplicationPause(false): walk the cache directory; reject any partial files (size 0 or matching .tmp suffix).

Use Caching.markAsUsed

Marks a bundle as recently used; suspended loads can be re-queued safely.

Or atomic writes

Download to .tmp; rename atomically on completion. Suspended loads leave .tmp; never corrupt the canonical file.

“Mobile suspension is unpredictable. Downloads need transactional safety.”

Treat downloads as atomic from day one. The discipline avoids the bug class entirely.

Related reading