본문 바로가기
유니티

[Unity] 유니티 Resources Load 오류 해결 방법

728x90
반응형
void Start()
{
	Task.Run(() => LoadData());
}

 

로딩창을 만들던 중에 이상하게 Resources.LoadAll을 불러오는 부분에서 함수가 강제종료되는 오류가 발생하였습니다. 프로그램이 터지지는 않았는데 데이터가 불러와지지 않아서 처음에는 경로를 잘못 설정했나 싶었습니다. 

 

 

디버깅을 해봐도 Resources를 호출하는 부분에서 바로 꺼져버려서 한참을 해매다가 코드를 좀 바꾸어 보았는데 그때서야 유니티 콘솔창에 오류 메세지가 출력 되었습니다.

void Start()
{
	Run();
}

async void Run()
{
	Task task = Task.Run(() => LoadData());
	await task;
	SceneManager.LoadScene("Lobby");
}

 

 

해당 오류 메세지를 검색해보니 Unity API들은 메인 스레드 외에서는 호출을 못하도록 막아둔거 같습니다. 밑에분 말로는 다른 스레드에서 접근이 필요할시에는 토큰으로 만들어 넘기라는거 같은데 토큰이 무엇을 뜻하는지는 잘 모르겠네요...

반응형