Questions about planned AssetBundle format replacement (2019.X)

1 -

Down to which level is the “AssetBundle format replacement” mentioned here planned to be implemented? Or, down to which level will changes be made?
Will all AssetBundle builds and imports require to use this newly designed system in the future?

2 - Will ECS only be available via Addressables, or will the current AssetBundles have ECS support as well?

3 -

They mention here that it is possible to export Adressable data, but will any original assets (like prefab data) have to be exported along with own data?
Is it easily possible to export Adressables from, e.g. our Game B, then import them into our Game A? (edited) (edited)

Thanks for reaching out…

  1. The format “replacement” will really be an “alternative”. The existing format will continue to exist for some time, and addressables will provide you the option to choose. So nothing will be “required” when we introduce the new format. I’m not sure what you mean by “down to what level”, but fundamentally it’s a simplification of the underlying file format. When you build with this option you will not get a asset bundles on disk, you’ll get these other serialized files instead.
  2. ECS is an independent feature. We just mention it in our roadmap to say that it will take effort to make Addressables play nice with ECS.
  3. The addressable data just has information on how assets should be built, and what address they can have for loading. This is stored in a separate asset from the prefabs (and other items) themselves. In your GameB scenario, you would mark some set of prefabs as addressable. Then export that addressable data. This would create an asset with just the subset of data you want. You could then copy over your prefabs, meta files, and this new addressable data asset, and import it into your GameA.

Hope that helps.
-Bill

@unity_bill We are going to start working on a new project, part of which includes loading 3D models dynamically using Unity assetbundles. This project (app) will be used by the client for at least for 5 years and every year we need to keep upgrading to latest software. My main concern here is if we load the models by creating assetbundles using Unity 2019 and in another year or 2 if you stop supporting assetbundles, what will happen when we try to upgrade to the latest Unity at that time. I fear whether we will have to rewrite things again at that time, which our client doesn’t want to do.
Currently is there any other option than using assetbundles to load 3D Models dynamically?
Please share your thoughts whether it’ll be OK for us to start using assetbundles when considering continuous Unity upgrade each year.

  • we may never change formats. It really depends on what we can do that would replace asset bundles and work with the new DOTS world. If nothing can, we won’t change.
  • if we do change, we’ll continue to support the old bundles for a long time
  • if we do change, it’ll be an under-the-hood change within addressables. So if you are using addressables, you wouldn’t have to change any of your code or systems.
1 Like