When should I use AssetBundles?

  • Should I use them when my build time increases too much?
  • Should them be used with webplayers?
  • Should them be used with standalone applications?
  • How big should my standalone be to asset bundles be worth the trouble?

If you are wanting to stream your game then breaking it into as small a chunks as possible will help to improve user experience if for example you were doing a race game with several tracks you'd split each track into a bundle and load them in the background while you display the menu screen. Also if you were using a car editor screen you could load individual models and materials as the player edits so that he can start editing as soon as possible and not wait for all the assets to load first.

Really it depends on how you want the user experience to be (long download at start or lots of small load messages during play)

In a stand alone game you're more worried about memory usage than download speeds so you'll be loading and unloading sections of map if you were making a streaming map for instance. In which case you'd make bundles based on terrain position. Again this is dependent on your target system and the required user experience, if you find your hi-poly city is taking up too much memory you can break it up into smaller chunks or load in hi-poly models as the player approaches them. As a rule you should be aiming for less than a GB of system memory.

asset bundles are a great feature of unity. unity can pack anything except scripts in an asset bundle. they have many uses. 1 you can use them to devide your large game to small pieces that download on demand. 2 you can use them to provide patches to users. you can not patch code in this way but if you want to add new models for users to choose or provide a much more beautiful model to users you can make your model an assetbundle and then create a installer that replaces old bundles with new ones for standalone games. so for web games, it reduces download and waiting time at startup. for standalones it gives you the power of customization and patching. if you want to load levels one by one just create a streamable web player; you don't need asset bundles for this. streamable scenes use the same technology but they are easier to work with.