Building addressable content to be loaded using badges?

Trying to confirm my understanding about loading content from CCD when specifying badges.
From this line: https://docs.unity3d.com/Packages/com.unity.addressables@1.15/manual/AddressablesCCD.html#configure-profile-with-ccd-url:~:text=The badge workflow links your project,at by a specific badge: https://(ProjectID).client-api.unity3dusercontent.com/client_api/v1/buckets/(BucketID)/release_by_badge/(BadgeName)/entry_by_path/content/?path=

It sounds like the catalog and addressable assets to be uploaded to CCD need to be configured with the badge in the RemoteLoadPath’s url for it to be loaded using Badges later.

https://(ProjectID).client-api.unity3dusercontent.com/client_api/v1/buckets/(BucketID)/release_by_badge/(BadgeName)/entry_by_path/content/?path=

Is it possible to do the following steps:

  1. Build addressables using the basic workflow RemotePath https://(ProjectID).client-api.unity3dusercontent.com/client_api/v1/buckets/(BucketID)/entry_by_path/content/?path=
  2. Upload the catalog and assets to a bucket. Apply a custom badge to the release.
  3. In another project, with a copy of the of the same catalog created in step 1, load assets based on the badge that was applied in step 2?

In your example, the catalog will directly reference the basic workflow RemotePath. Likely what you’d want to do is specify a load path in a format using curly brackets, meaning it will be evaluated at runtime (see: Addressable Assets Profiles | Addressables | 1.6.2). That would allow you to easily change which workflow you are using depending on context.

Hi, I have a question about the RemoteLoadPath, currently I written my RemoteLoadPath : https://[ProjectID].client-api.unity3dusercontent.com/client_api/v1/buckets/[BucketID]/release_by_badge/[BadgeName]/entry_by_path/content/?path=ServerData/[BuildTarget]

Currently, we plan to change the BadgeName for every version update (example: ver1.1.0 to ver 1.2.0) and I found out that when I change BadgeName in RemoteLoadPath, I must uncheck the Content Update Build (Unity Cloud Build configuration), otherwise will have build error.

My question is what happen if every time new update coming, with new BadgeName and new addressable build, does the previous user have to re-download the whole game? Or any other proper way for my case?

Hi,
Thanks for your question.

May I know what error you get when you run a Content Only Build?

@elaine_unity694

Hey! Have you found an answer for this question? I’m guessing the same issue…

@dannyd D’you have any thoughts on this?

Hi, yes, it is possible to use badge name to differentiate for different version of the build.
You can create a new variable in Addressable Profiles called BadgeName and insert the same badge name with your CCD badge.

Addressable Profiles > Create > variable (all profiles) called BadgeName.

exp:
BadgeName : 1_0_0
RemoteLoadPath: https://[ProjectID].client-api.unity3dusercontent.com/client_api/v1/buckets/[BucketID]/release_by_badge/[BadgeName]/entry_by_path/content/?path=ServerData/[BuildTarget]