Search Unity

How to properly use addressable scenes?

Discussion in 'Addressables' started by LaneFox, Jan 26, 2021.

  1. LaneFox

    LaneFox

    Joined:
    Jun 29, 2011
    Posts:
    7,519
    What is the proper approach to addressable scenes?

    In the build I have content in basically 3 phases - the binary, the common, and the dlc. When loading a scene, its not clear to me how to handle this.

    The content layout is something like this:
    layout.png
    Basically the binary has all of the scripts, basic ui art, 3rd party art for tools, etc. The common addressable has all of the art for all interactive content and is shared across all dlc. The dlc groups are separated as Scene and Assets, so dlc-urban is 2 groups (assets/scene). The common addressable group only exists to fix duplicate content everywhere because somehow that's a thing and serialized references to the binary weren't.

    1. How do I identify if something is addressable? I have to load them differently, right?
    2. Do references to assets that are remote bundles still work when the bundle is not downloaded? For instance can I reference every scene, then just validate if the scene is downloaded before trying to load it?
    3. How do I validate that a scene is actually downloaded and is loadable?
    4. Can I have a bundle that is always included in the build?
    5. We need to load multiple bundles per 'dlc', how do we identify them?
    6. Why are there "Asset Bundles" and "Addressables Groups"? How do I reference either for use?
    7. In the API - what is the object "key"? Is it always a label? It seems to be used ambiguously but it is not clearly documented how it will actually be used to find what we're looking for and thus makes all of the queries quite unintuitive to use.

    Also: Is there any better information about what Profile fields should be? It's not really clear what should be in these tables and what the actual difference between the locations are. For instance if I want to include "common" addressable group in the build, do I need to manually copy it into the build directory and import it when the app loads?

    Sorry this is a lot of questions, but we're thoroughly confused about how to actually properly use Addressables even after reviewing docs and community comments.
     
    Last edited: Jan 26, 2021