본문 바로가기
프로그래밍/Unity

m_AssetBundleManifest 이 null 일 때

by neive 2018. 9. 28.
728x90


[어플리케이션]과 [PC버전] 멀티 플랫폼에서 에셋 번들을 사용하려고 하는데


에디터 상에서는 잘 되던 에셋 번들 패치가 [PC버전] 에서는 되지 않는 것이었다


아오 짜증나 왜 안되는거여


그래서 [PC버전] 에서는 에셋 번들을 안쓰는건가? 별에별 생각 다 들다가 힘겹게


원인을 찾아보니


    IEnumerator Initialize()

    {

        var request = AssetBundleManager.Initialize();

        if (request != null)

            yield return StartCoroutine(request);

    }


이 코드를 실행 했음에도 불구하고 AssetBundleManager.m_AssetBundleManifest

가 null 이었던 것이다... 허미... [PC버전] 에서 그렇다


http://wergia.tistory.com/38


이 블로그에서도 나와 같은 유니티 5.6 버전에서 같은 문제를 겪은것으로 보이는데


아무튼 m_AssetBundleManifest 가 null 인 관계로 그냥 수동으로 값을 넣어줬다



            if (m_AssetBundleManifest == null)

            {

                WWW www = WWW.LoadFromCacheOrDownload("경로/Windows", 1);


                yield return www;


                AssetBundle ab = www.assetBundle;

if(ab)

                    m_AssetBundleManifest = ab.LoadAsset<AssetBundleManifest>("AssetBundleManifest");

            }



번들 갯수가 잘 체크 된다


씬과 모델 모두 잘 로딩이 되었다




728x90

댓글