강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)

MyPlayer 분리

sub thread에서 Resource.Load가 가능한이유

작성

·

430

0

제가 개인적으로 진행하는 프로젝트에서 S_EnterGameHandler에서 UnityEngine.Resources.Load를 호출하면 

Load can only be called from the main thread.

와 같은 에러가 발생합니다.

하지만, 루키스님이 만드신 프로젝트, 10:39 S_EnterGameHandler에서 

GameObject player = Managers.Resource.Instantiate("Creature/Player");

ㄹ호출했습니다. 

처음 게임을 시작하면 object pooling된 object가 없으므로, Managers.Resource.Instantiate는 UnityEngine.Resources.Load를 호출합니다. 루키스님이 만든 게임에서는 에러가 발생하지 않아요. 어떻게 가능한건가요?

디버깅을 해보았고, S_EnterGameHandler를 호출한 thread(아마 mainthread가 아닌)가 UnityEngine.Resources.Load를 호출했습니다. 

 

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

패킷 큐를 통해 유니티 메인 쓰레드에서 실행하게 유도하고 있습니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기