반응형
Problem
GameObject loading =
Addressables.InstantiateAsync("Assets/Addressable/UI/Loading/LoadingPrefab.prefab", parent).WaitForCompletion();
Exception: Reentering the Update method is not allowed. This can happen when calling WaitForCompletion on an operation while inside of a callback.
Solution
검색해서 나오는 글들을 보면, Addressable자체 버그인듯 함.
그래서 어찌 해결할 방안이 없음.
Coroutine(IEnumerator)안에서 WaitforComplete를 쓰면 저 지랄이 나는듯.
메인쓰레드로 옮겨서 실행해서 일단 이슈는 해결함.
private Queue<UnityAction> actionBuffer = new Queue<UnityAction>();
private void Update()
{
if(actionBuffer.Count > 0) {
actionBuffer.Dequeue().Invoke();
}
}
// ...
private void LoadLoginScene()
{
actionBuffer.Enqueue(StartLoadLoadingPrefab);
}
private void StartLoadLoadingPrefab()
{
Addressables.InstantiateAsync("Assets/Addressable/UI/Loading/LoadingPrefab.prefab", parent).WaitForCompletion();
}
'
반응형
'Unity > Unity 이슈' 카테고리의 다른 글
[Addressable] JSON parse error: Invalid value. (0) | 2022.02.27 |
---|---|
[구글로그인] DEBUG: Authentication canceled (0) | 2022.02.27 |
Addressable 사용 시 Shader가 깨질 때(분홍색으로 나옴) (0) | 2022.02.14 |
Button에 AddListner에 함수를 넣어도 먹히지 않는 상황 (0) | 2022.02.13 |
UI(Canvas)코드가 먹히지 않는 경우 (0) | 2021.12.18 |