Unity 5.5 AssetBundle.LoadAssetAsync

반응형

5.5로 업그레이드 후 에셋번들 로드시 높은 확률로 굳어버린다.

뻗는것도 아니고, 에러도 아니고 말 그대로 굳어버린다.

포럼에도 이런 현상을 겪었다는 글이 올라오고 있는데 일주일 정도 삽질을 거듭한 결과

어느정도? 수정이 되었다.

100프로 확신할 수 없는 건 이렇게 고치는게 맞는지 보증이 없기 때문이지만

현재 pc 에셋번들 버전과 모바일 버전에서 굳는현상이 나오지 않았다.

현재 수정한 내용을 간추려 말하자면 기존에는 로드 요청이 들어오면 유니티가 알아서 처리하게

냅두었는데 지금은 번들 로드인 www와 내부 파일 로드인 LoadAssetAsync를 내부 락을 걸어

www가 로드중일 때는 LoadAssetAsync을 피했고, 내부 파일 로드 내에서도

LoadAssetAsync를 순차적으로 처리 해 주었다.

빨리 빌드를 전달해야 하는 상황 + 몸 컨디션 최악의 상황이라서 코드를 좀 더럽게 짜긴 했지만

우선은 돌아가니까 패스... 컨디션이 좀 좋아지면 다시 리펙토링하면서 정리를 해야겠다.



유닛히에서 수정되었다고 해서 5.5.1p3 로 올린 후 테스트 해 본 결과 잘 되서 위에서 락 걸었던 코드는 제거..

이제 이런버그는 안나왔으면 좋겠다.

Reference Link

http://answers.unity3d.com/questions/1285734/assetbundleloadassetasync-case-freezing-in-unity55.html

TAGS.

Comments