AddressableAssetSettings cannot be merged in Plastic SCM?

Hey there,

we are working on a project using Addressables and use Plastic SCM for version control.

But there seems to be a major problem with this combination:
Whenever one makes changes to the Addressables (adding assets, editing groups or labels…) the currentHash property of the AddressableAssetSettings is recumputed and changed.
Now if more than one person makes changed to the Addressables there will be a conflict when merging because the hash has been changed by all of them which cannot be merged.

The only possible solution on our end would be that not more than one person works on addressable assets at the same time but this is completely impossible because most asset folders in our project are marked as addressable and we use scripts to create assets programmatically. Nearly every time when anyone works on the project assets will be created, moved or deleted.

Is there any good approach to get around these merge conflicts?

Thanks in advance

2 Likes

Oh, nothing? Are we the only team facing this problem?

1 Like

Obviously, the recommended workflow of managing addressables is a bit of a joke. Hope your mouse button switches are rated for a couple billion clicks. Maybe keep some spares nearby just in case.

I personally use a script similar to GitHub - favoyang/unity-addressable-importer: A rule based addressable asset importer, except much simpler and with hardcoded paths/rules. This way the addressable groups are automatically updated and can be easily regenerated from scratch. Not sure if it’s a good solution because addressables in my project are falling apart anyway.

yes, this workflow is completely unmanageable. It seems like the AddressableAssetSettings’ “group” entries pretty much mirror the files in the AddressableAssetsData/AssetGroups/ folder. I have no idea why it just doesn’t use that. One workaround for us is if you get conflicts, just wipe out all the groups, and just drag all of those files into addressable groups window to ‘regenerate’ it.

No idea why this is exposed in the file though. Asset Bundles didn’t have issue, and there’s no extra metadata here at all. The AddressableAssetSettings just has a list of GUIDs anyways.