2021.2 addressables behave differently from 2020.3 and seem broken

The same project in 2021.2 seems to behave in a broken way regarding loading addressables. We have a schema like this:

which I load in the same way with both versions of unity:

but with 2021.2 the list of names returned duplicates the entries multiple times!

it seems a pretty basic bug easy to repro, I am not sure how it hasn’t been caught yet.

This is currently preventing us from updating to the new Unity.

Note: The Continue() is like yielding until the resource handler isDone is true.

I seem to be experiencing the same or a possibly related bug. Also preventing me from upgrading to a newer Unity version.

Calling Addressables.LoadResourceLocationsAsync() results in invalid resource locations being returned. It returns duplicated resource locations with the same key but different types, of which only one is present.

My groups look like this:

And loading by key “Label:Start” returns this:

In this case, PlantAnimationSettings & FloatRange are both types marked as Serializable and appear inside the Prefab in Components, but definitely shouldn’t be returned by Addressables. It seems like this only happens with prefabs as all other resources behave normally.

Trying to load these with “Use AssetDatabase” throws a NullReferenceException inside AssetDatabaseProvider.LoadAssetAtPath() as AssetDatabase.LoadAssetAtPath() does (correctly) return null.

It also doesn’t work with “Use Existing Build” resulting in OperationException : Provider of type UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider with id UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider has provided a result of type System.Object which cannot be converted to requested type Zeknir.PlantAnimationSettings. The operation will be marked as failed.

I’m using Addressables 1.19.11 and Unity 2021.2.5f1.
Note that this bug does NOT appear in 2021.2.0f1, with the same Addressables version. So it seems to be some problem with the Unity version.

I currently solved the problem with this method. I have been told that LoadContentCatalog works and could replace this method, but I don’t have the time to adapt it.