Building AssetBundles
There are three class methods you can use to build AssetBundles:
- BuildPipeline.BuildAssetBundle allows you to build AssetBundles of any type of asset.
- BuildPipeline.BuildStreamedSceneAssetBundle is used when you want to include only scenes to be streamed and loaded as the data becomes available.
- BuildPipeline.BuildAssetBundleExplicitAssetNames is the same as BuildPipeline.BuildAssetBundle but has an extra parameter to specify a custom string identifier (name) for each object.
An example of how to build an Asset Bundle
Building asset bundles is done through editor scripting. There is basic example of this in the scripting documentation for BuildPipeline.BuildAssetBundle.
For the sake of this example, copy and paste the script from the link above into a new C# script called ExportAssetBundles. This script should be placed in a folder named Editor, so that it works inside the Unity Editor.
Now in the
menu, you should see two new menu options.- . This will build the current object into an asset bundle and include all of its dependencies. For example if you have a prefab that consists of several hierarchical layers then it will recursively add all the child objects and components to the asset bundle.
- . This is the opposite of the previous and will only include the single asset you have selected.
For this example, you should create a new prefab. First create a new Cube by going to
, which will create a new cube in the Hierarchy View. Then drag the Cube from the Hierarchy View into the Project View, which will create a prefab of that object.You should then right click the Cube prefab in the project window and select Cube.unity3d, your project window will now look something like this.
. At this point you will be presented with a window to save the “bundled” asset. If you created a new folder called "AssetBundles" and saved the cube asAt this point, you can move the AssetBundle Cube.unity3d elsewhere on your local storage, or upload it to a server of your choice.
Page last updated: 2012-05-02