Unity Dictionary Enum Key Boxing Problem
알려진 해결법 1
Customize Compare
간단하지만 매번 키로 사용할 Enum의 Comparer를 계속 만들어줘야 한다는 불편함이 있다.
알려진 해결법 2
Create Dynamic Method
그러나 AOT플랫폼에선 동작하지 않는다. 기존 IOS 64비트, 2019.8월부터는 안드로이드도 64비트 빌드가 강제되기 때문에 IL2CPP로 빌드해야 하므로 위의 방법으론 해결을 못함.
스크립팅 제약
알려진 해결법 3
unsafe 키워드로 C++문법을 사용하여 직접 주소 접근 방식(PlayerSetting에 “Allow ‘unsafe’ Code”를 꼭 체크하여야 사용 가능)
위 코드로 Enum을 int로 바꾸어 EnumDictionary로 컨테이너 만들어서 사용
프로파일러 비교(기본 Dictionary vs EnumDictionary)
기본 dictionary add profiler

enum dictionary add profiler
