Legacy Documentation: Version 2018.1 (Go to current version)
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.


Suggest a change


Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.


Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.



public var mainAsset: Object;
public Object mainAsset;


Main asset that was supplied when building the asset bundle (Read Only).

This is a convenience function that makes it easy to find the primary asset of a bundle. For example you might want to have a prefab of a character and include all textures, materials, meshes and animations files with it. But the fully rigged prefab of the character would be your mainAsset and can easily be accessed.

    function Start () {
        var uwr = Networking.UnityWebRequestAssetBundle.GetAssetBundle("http://myserver/myBundle.unity3d");
        yield uwr.SendWebRequest();
        // Get the designated main asset and instantiate it.
using System.Collections;
using UnityEngine;
using UnityEngine.Networking;

public class SampleBehaviour : MonoBehaviour { IEnumerator Start() { var uwr = UnityWebRequestAssetBundle.GetAssetBundle("http://myserver/myBundle.unity3d"); yield return uwr.SendWebRequest();

// Get the designated main asset and instantiate it. Instantiate(DownloadHandlerAssetBundle.GetContent(uwr).mainAsset); } }

Did you find this page useful? Please give it a rating: