Once-only app startup CRC mismatch crash after upgrading to newer version of Unity

I’m trying to use Addressables with its simplest, default, local-only, out-of-the-box behavior.

Using Unity 2019.2.20f1, Addressables 1.6.2 and all of the default Addressables settings, I’ve added a single prefab asset to the Default Local Group with a “myCanvas” address.

I have an empty scene, and my only code is:

using UnityEngine;
using UnityEngine.AddressableAssets;

public static class Bootstrap
{
    [RuntimeInitializeOnLoadMethod]
    public static void Init()
    {
        Addressables.InstantiateAsync("myCanvas");
    }
}

I can build the addressables data using the Default Build Script, build an Android APK, install to device and start the app. “myCanvas” is successfully loaded and instantiated. So far, so good.

The trouble comes when I upgrade this project to a newer version of Unity, say 2019.2.21f1.

If after upgrading the project, I build the addressables data again, and then deploy the newly built Android APK to a device that had the previous version installed, I get catastrophic CRC mismatch errors on app startup:

This error happens once only upon the first launch of the new version of the app. Subsequent launches of the same app work correctly.

I would expect that the default settings for Addressables should be able to handle a Unity version upgrade.

I’ve attached my very simple, minimal project as a zip, and have also reported this using the Unity Bug Reporter:
https://fogbugz.unity3d.com/default.asp?1221941_em7odfrq5b696fpu

5507938–565021–AddressablesBug.zip (48.4 KB)

1 Like

Thanks for letting us know about this. It makes sense that the CRC would change and the bundle name & hash not change (Unity version is included in asset bundle data, but not hash).

This means we are checking CRC when we should not be. I’ll file a bug in our system to chase this down.

2 Likes