Version: 5.4
Protegiendo contenido
Optimizando búsquedas con AssetBundles

Incluyendo scripts en AssetBundles

Los AssetBundles pueden contener scripts como TextAssets, pero de esta forma, no pueden realmente ser código ejecutable. Si desea incluir código en su AssetBundles que pueda ser ejecutado en su aplicación, este requiere ser pre-compilado en lenguaje ensamblador (assembly) y cargado usando la clase Mono Reflection (Nota: Reflection no está disponible en iOS). Puede crear ensamblados (assemblies) en cualquier IDE de C# normal (ej. Monodevelop, Visual Studio) o cualquier editor de texto usando compiladores mono/.net.

Tenga en cuenta: Carga scripts desde asset bundles no es soportado en Windows Store Apps y Windows Phone.

//c# example
string url = "http://www.mywebsite.com/mygame/assetbundles/assetbundle1.unity3d";
IEnumerator Start () {
    while (!Caching.ready)
        yield return null;

    // Start a download of the given URL
    WWW www = WWW.LoadFromCacheOrDownload (url, 1);

    // Wait for download to complete
    yield return www;

    // Load and retrieve the AssetBundle
    AssetBundle bundle = www.assetBundle;

    // Load the TextAsset object
    TextAsset txt = bundle.Load("myBinaryAsText", typeof(TextAsset)) as TextAsset;

    // Load the assembly and get a type (class) from it
    var assembly = System.Reflection.Assembly.Load(txt.bytes);
    var type = assembly.GetType("MyClassDerivedFromMonoBehaviour");

    // Instantiate a GameObject and add a component with the loaded class
    GameObject go = new GameObject();
    go.AddComponent(type);
}

Protegiendo contenido
Optimizando búsquedas con AssetBundles