Private Addressables Issue

Hello,

In the Editor:
I have come across another strange issue and think it may be a bug. My Addressables are stored on Azure Blob as private. I need to use a Shared Access Key Signature to access the json file for the addressables. Everything works fine when I set the storage to public, but when I set it to private and have the signature at the end of the remote catalog link when specifying the catalog in Addressables.LoadContentCatalogAsync it splits that string at the symbol “:” and tries to save the hash as everything that comes after the last “:” in the signature which is wrong. So the next time I go to run the app it breaks because that first has file been saved as just "“file” with no type and its file name is everything after the last “:” instead of hash type and just the catalog name.

The signed assets when private using Addressables.ResourceManager.InternalIdTransformFunc work just fine privately.

It’s as if when saving the Catalog files locally it is splitting the string with that symbol which is also in the SAS Signature cause it not to name it as catalog_10.10.10.10.hash or .json.

device:
Everything seems to work on the device fine. It seems to only do this when testing in the editor. Why is it trying to save this file diffferently in editor? Why does save the file only with all string text after “:” in the last instace of that symbol? It makes it more difficult to test because I have to set the access to the Azure storage to public and remove the SAS. Then it downloads just fine. But I have to do this everytime i want to check in the editor or build to the dievice test and if it fails trial and error.

Any ideas?

@TreyK-47
@davidla_unity

I’ll kick this over to the team - which version of Addressables are you using?

1.17.2

To replicate, it only does it in the editor by getting a remote catalog with a signature in the path. Otherwise it is fine on a device.

Example: www.someaddress.com/api/catalog_10.10.10.10.json?was=sk28474ken:date=number:somethingelse

It tries to save the local hash or json as just
date=number:somethingelse
Instead of www.someaddress.com/api/catalog_10.10.10.10.json
Or
www.someaddress.com/api/catalog_10.10.10.10.hash

So it can’t read the files.

Hi - it does appear that something is going on in the string transformation for the catalog hash - I poked around in the code for a bit but did not see anything obvious. I have created an internal ticket for us to investigate further and will link it to this thread.

@PaulBurslem

Glad you found something and looking into to. I was pulling my hair out trying to figure out why. Luckily it doesn’t affect anything when built to a device. Just a pain because I have to make my addressable’s public and remove the SAS to test in the editor. Then the more important issue. Remembering to put the SAS back in and make addressable’s private again before putting it back on the store.