본문 바로가기
Game Programming

Unity3d Assembly.Load 문제

by 게임혼 2014. 9. 15.

해킹 방지 대책으로 동적 스크립트 실행을 처리하는 중인데 iOS와 Web에서는 사용이 안된다.

해결 방안으로 2가지 정도 있는 것으로 보여지지만 일단 가장 편한 방식으로 진행.


string url = "http://www.mywebsite.com/mygame/assetbundles/assetbundle1.unity3d";
IEnumerator Start () {
    // 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);
}


'Game Programming' 카테고리의 다른 글

Unity3D ClassNotFoundException on Android plugin  (0) 2014.11.16
Java enum  (0) 2014.09.21
MBCS 에서 글자깨짐  (0) 2014.08.18
Unity3D와 StreamSocket 그리고 Window 8.1 App  (0) 2014.07.07
Windows Store / Microsoft.Advertising.WinRT  (0) 2014.06.26