Coding Memo

Unity 간단한 메모 본문

메모

Unity 간단한 메모

minttea25 2024. 1. 22. 16:08

- Unity에서의 비동기 작업은 주로 Unity의 메인스레드에 처리

Addressable에서 여러개의 비동기 작업을 실행 후, 완료를 확인하고 싶을 때 Interlocked등의 atomic하게 연산을 할 필요가 없다. Thread-safe 이다.

 

- 외부 라이브러리의 스레드에서는 UnityObject를 컨트롤 할 수 없을 뿐더러, Coroutine도 실행 시킬 수 없음

예를 들어 Socket에서 데이터를 받고 이를 바로 해당 스레드에서 처리하려고 하여, UnityObject를 건드린다면 어떠한 동작도 실행하지 않거나 오류가 날 것이다. 또한 Coroutine도 마찬가지이다.

 

- Addressables.LoadResourceLocationsAsync() 의 첫번째 인자로, Addressable에 등록되어 있는 Group 이름, Addressable 이름, Label 이름 모두 사용할 수 있다. OpHandle은 해당 이름으로 찾은 에셋에 대한 IResourceLocation 타입이다. 여기서 IResourceLocation.InternalId는 해당 에셋에 대한 Path를, IResourceLocation.PrimaryKey는 Addressable Name을 가리킨다.