Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Questions on setup/workflow of Addressables

Discussion in 'Addressables' started by BTStone, Aug 5, 2019.

  1. BTStone

    BTStone

    Joined:
    Mar 10, 2012
    Posts:
    1,422
    Hey folks,

    the last couple of days I'm fooling around with the Addressables System and so far I think I get the how to work with them scripting wise. There are only some questions with the setup/workflow I'd like to ask:

    1) What goes into a "Game Build"?

    I guess we need to be clear on terminology here. By "Game Build" I mean the build of the actual game, when I hit that "Build"-Button in the BuildSettings.
    Let's assume this scenario: My game has 10 Scenes

    Now I can mark basically ALL of my scenes as addressables. Doing that disables them from my BuildSettings which implies I can't have those Scenes in the build of the game.
    But I do get that right that I need at least one simple scene in my build, a BootUpScene or whatever, which loads then one of the scenes which were marked as addressable and those have GameObjects in them which do they same at specific points in the game?

    2) How to build a patch?

    Now when I released the game. What's the workflow for a patch/additional content?
    Let's say 1 of my 10 scenes is buggy. I fix that. What now? I guess I only need to build the Addressables again, right?

    And what after that? What do I upload to Steam or Consoles?

    Same goes for additional/complete new content. I create a new scene, which is marked as addressable. Also only building the Addressables, right?


    3) Static/Dynamic Content,Content Update Workflow, Hosting Servies and Remote Build

    Looking at the docs it states there are these two types of content: marked as static or dynamic (meaning being not marked as static)
    It also states:
    Good thing that it's generally possible to update/change/patch static content, because there is a possibility that every asset may be touched/changed after release for whatever reason ;)

    But what I don't get is: what does online mean in that custom? Do I have to setup a very own server when I want to work with Addressables?
    When someone buys the initial version of the game on the PS4 and the patch comes out - afaik this patch data resides on Sonys server.
    It states that in the AddressableAssetSettings I have to check the BuildRemoteCatalog: what exact path goes in there? It's set per dafult to <custom> but I also can choose between LocalBuildPath and other EnumValues - can I choose those instead a custom one, does it matter?


    As you see I'm having a hard time wrapping my head around the setup with the whole buildpipeline with addressables and I would really appreciate if someone with a bit more experience could clarify those things :)
     
    tgrotte likes this.
  2. unity_bill

    unity_bill

    Joined:
    Apr 11, 2017
    Posts:
    1,053
    on each addressable group, you set where it's built. If you use what should be the default settings for LocalBuildPath and LocalLoadPath, they'll be included in the build. Under the hood we do this by building them to a folder in the Library, then during the player build, we copy the files into Assets/StreamingAssets. Anything in that directory will be included in the build. We do this copy because you could build addressables for multiple platforms, but you only want the ones for your current platform when building the player.
    Also, you do need (at least) one scene in the build settings list. This is the scene that Unity automatically opens. From there you can open more using addressables as desired.

    If you have a server, and are sending updated content via download to the game, you can/should follow the update flow described here: https://docs.unity3d.com/Packages/c...DevelopmentCycle.html#content-update-workflow
    If you are just sending an updated game to Steam or some other store, then you probably just want to rerun Build Player Content, then rebuild the player. No real reason to do it as an "update" in our flow if you have a new player.

    This is somewhat related to the above question, but the short version is this: for a game without a server, you largely want to bypass our "update" flow and just do a fresh build every time. There are ways you could use the update flow but generally if you are on a patched platform, you don't want to.

    I'm making a note for us to update our docs with a clarification on this point. Thanks for reaching out.
     
    BTStone likes this.