Hi,
According to this post, MergeMode.Intersection should return only assets that match all labels. This is somewhat true but only if each label has been used in at least one bundle.
Say I have 3 labels, LabelA, LabelB and LabelC and run the following code:
private void Start()
{
Addressables.LoadAssets<GameObject>(new List<object>() { "LabelA", "LabelB", "LabelC" }, null, Addressables.MergeMode.Intersection).Completed += Load_Completed;
}
private void Load_Completed(IAsyncOperation<IList<GameObject>> obj)
{
foreach (var a in obj.Result)
{
Debug.Log(a.name);
}
}
The following situations occur:
^ Returns assets from AssetCollectionB: Expected
^ Returns assets from AssetCollectionA: Unexpected
^ Returns assets from AssetCollectionB: Unexpected
^ Returns assets from neither collection: Expected
This means if we have 20 bundles using LabelB and LabelC and only one bundle using all 3, then decide to remove/change the single bundle using all 3, suddenly 20 bundles would be loaded where they weren’t before.
Is this intended?