Version: 5.3 (switch to 5.4b)
Защита контента
Часто задаваемые вопросы об AssetBundles

Including scripts in AssetBundles

AssetBundles могут содержать скрипты, такие как TextAssets, при этом они не будут являться исполняемыми. Если нужно включить код в AssetBundles, который может быть исполняемым в приложении, он должен быть скомпилирован в сборку и загружен с применением Mono Reflection class (Замечание: рефлексия недоступна в iOS). Сборки исполняемого кода можно создать в любой обычной C# IDE (например, Monodevelop, Visual Studio), либо с помощью текстового редактора, используя компилятор mono/.net.

Note: Loading scripts from asset bundles is not supported on Windows Store Apps and 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);
}

Защита контента
Часто задаваемые вопросы об AssetBundles