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);
}