Asset bundles missing asset data, and Unity does not report error during build.

We’ve recently started getting the following error while downloading asset bundles:

Error while downloading Asset Bundle: Failed to decompress data for the AssetBundle

Fortunately, this is in development and has not been pushed to our live deployment.

We’ve spent a few days investigating and testing this issue, and it turns out that Unity is simply failing to write the asset data into the bundle. There is no error at build time, and the console output makes it look like Unity thinks everything is fine. It even reports the correct CRC for a valid bundle in the returned manifest file, even though the bundle is invalid.

This is happening to (seemingly) random bundles for Windows, Mac, iOS, and Android which are built on Windows or Mac.

We’ve implemented a post-build check into our build script which simply loads/unloads each bundle to validate them, but the only thing we can do at that point is rebuild and hope for the best.

We have not been able to find a repro case, but we do have console logs and bundles for good and bad bundles which should be identical.

This is a critical issue. A bad bundle on the CDN can be downloaded and cached, and it will require the file to be deleted from the cache to download a fixed file.

We are using Unity 2018.2.15f1.

This bug has been reported and fixed in 2019.2: Unity Issue Tracker - When building a lot of AssetBundles some Bundles will result in corrupted resources ".resources" or ".resS" will be 0 bytes