New Feature Idea: Default Asset Bundle

I want to suggest new Unity feature: Default Asset Bundle support. The idea is to replace Resources mechanics in a way which is very easy to implement and easy to use, giving a lot of value to most game developers: low cost + high impact solution.

There are many problems with current Resources system. I will not enumerate them, but it suffice to says that official “best practices” for Unity 5 suggest avoiding using Resources at all. The problem is that using Asset Bundles as default data source is VERY inconvenient and impossible without additional tools and messing around. There is a very simple solution which should prove to be very popular: Default Asset Bundle.

Main idea is that base AssetBundle object should be augmented with a bunch of static methods which reference internally default asset bundle. At its simplest people would be able to call “AssetBundle.Load” instead of “Resources.Load”. Just this single feature would solve A LOT of problems. There should be new special folder name: “Default” which could be used instead of “Resources”. Internally BuildPlayer would be able to create both resource file and default asset bundle file. This solution breaks nothing and I’m sure everybody would like it.

As far as I understand it, Resources is simply an AssetBundle. When you call Resources.Load in the Editor it loads the file directly. When you call it in a build it loads the special AssetBundle called Resources and loads the file for you.