[Unity] can only be called from the main thread. 문제 해결하기
카테고리: C# + Unity
Unity 엔진의 동작 원리 Unity 엔진은 많은 블로그와 Unity 공식 문서에서 아래의 그림과 같이 Main Thread와 Render Thread, Worker Thread들로 구성되어 있다고 설명한다. 위와 같은 구조로 인해서 UI 요소를 변경하는 함수들은 메인 스레드 위에서만 작동한다. 이로 인해서 멀티 스레드 환경에서 메인 스레드가 아닌 다른 스레드가 UI 요소를 변경하면 아래와 같은 메시지를 출력한다. [문제가 된 함수] can only be called from the main thread. [문제가 된 함수]는 메인 스레드에서만 호출할 수 있습니다. 문제 해결 위와 같은 문제를 C#에서는 Invoke를 사용하여 메인 스레드로 호출을 위임하지만, Unity에서는 해당