AssetBundles - Hype and let down, or real benefit ?

Having used AssetBundles and AssetBundle manager, I have found that the actually hinder development process.

I have the following pro’s and con’s. I also have a suggested alternative.

IMPORTANT: This is directed at non-streaming, but packaged update contents.

CONS

  1. Asset bundles add an extra layer of indirection to all your assets.
  2. During development you need a seperate build step to run your game and compile bundles.
  3. There is no easy way to manage tooling and having designers build assets bundles outside unity.
  4. Instead of managing assets and their versions, you just shift to managing asset bundles inside unity with little to no ability to automate server side releases.
  5. Unable to unify with external tooling.
  6. Closed source.

PROS

  1. You can store asset bundles in a package
  2. You can download all your assets in one streamed download

Projects are being held back by what is being sold as amazing way to manage your assets, but seeing through the hype, they just add an extra layer of complexity.

If you the asset bundle system was open source, it would make sense, so other design tools could construct these bundles and deploy directly to secondary servers, instead of using rather obtuse Unity workflow.

So I suggest to drop your closed source asset bundles, or developers, just store your assets online and manage packages yourselves. Its actually less work than trying to understand a complex and convoluted asset management system like AssetBundles.

Thanks guys,

Just some feedback.

I’ve been using assetbundles on a very big project, it contains a massive amount of textures and a massive amount of data files, to that use they’re great and certainly lowering development times.

The project before we used assetbundles would take about 6 hours+ to switch platforms, after assetbundles it went down to about 10 minutes tops.

I leave all datafiles stored in assetbundles per level (that’s a lot of files in a asset bundle), that lowered the final build time massively, as these datafiles hardly change anymore.

The textures are also put in assetbundles, this lowered both build times and switch platforms massively.

So I say that to this end they’re certainly a plus.

On the other side the usage of assetbundles is a bit too complicated and bugged to my tastes.

I was having a lot of issues and wasted 2 days debugging an error on ios/mac builds because of assetbundles, thinking that my files were corrupt, but the real culprit was an assetbundle error that breaks everything in those platforms if you load a resource from a bundle, assign it to a variable and them immediately unloads(false) the asset.That didn’t happen on android and windows.

Bugs like these really kept my away from assetbundles for some time.

It’s also difficult to tell if the performance lowers when using them, but I had no noticeable issues, maybe some GC when loading assets or some delays when loading from disk, but that’s to be expected. Would it be better if it was open source ? I don’t know.

3 Likes