Search Unity

Looking for Guidance re: Remote-Hosted Addressables

Discussion in 'Addressables' started by DanMcElroyHuuuge, Oct 8, 2019.

  1. DanMcElroyHuuuge

    DanMcElroyHuuuge

    Joined:
    Oct 2, 2019
    Posts:
    18
    I've been implementing addressables on some small sample projects, and while I'm able to successfully build addressables outside of the shipping build and access them locally, I'm struggling to find any documentation or examples of the actual structure of a remotely deployed addressable bundle on the server.

    I wanted to check a couple of assumptions:

    1. When you provide a URL as the RemoteLoadPath in your addressable settings (i.e. www.myurl.com/[BuildTarget]), the client will search for all files by their actual names, i.e. www.myurl.com/Android/groupname_subtype_guid.bundle

    2. Only the .bundle files should be required on the remote server, and not catalog.json, link.xml or settings.json.
    My main issue is the struggle to find a remote service that will allow me to make files available via the URL format described in point 1. I will continue looking for such services if someone can confirm that the above assumptions are correct.

    Thanks in advance, Dan
     
  2. Favo-Yang

    Favo-Yang

    Joined:
    Apr 4, 2011
    Posts:
    464
    1. yes.

    2. if you use remote catalog (more or less you will), then remote catalog json need to upload as well.

    3. check out s3 (search s3 + addressable + tutorial), which exposes a http service for your blobs.
     
  3. robinryf

    robinryf

    Joined:
    May 22, 2014
    Posts:
    54
    Hi Dan,

    You can have your catalog.json in the local build shipped to the device from the AppStore and still serve bundles from the RemoveLoadPath location. The thing to keep in mind is that you should not use hashes for the remote assets since they will change if you update the remote content and then your client catalog.json will not match the remote bundle name. With this method you also can't add new bundles just by updating the server content. The alternative is to load the catalog.json from the server which gives you "full control" what bundles the clients know about.

    You don't have to find a service which only exposes direct http urls. You could also use their SDKs to get the link dynamically. I have provided a solution for this using Firebase Storage from Google. You can find it here: https://forum.unity.com/threads/git-plugin-to-load-addressables-from-firebase-storage.752789/

    Cheers,

    Robin