콘텐츠로 이동

Unity 2022 업그레이드 후 Android·iOS에서 생긴 문제와 해결

모바일 슬롯 게임을 Unity 2022로 업그레이드하면서 생긴 문제들이다.

런타임에 검은 화면에서 씬이 전환되지 않는 문제

섹션 제목: “런타임에 검은 화면에서 씬이 전환되지 않는 문제”
  • 원인: launcherTemplate.gradle 템플릿에 정의해 두었던 androidx.multidex:multidex:2.0.1이 삭제되었다.
  • 단일 덱스에는 65536개의 메서드 ID만 담을 수 있다. 이를 넘기려면 멀티덱스가 필요한데, 멀티덱스는 API 21 이상부터 기본 지원하므로 API 20 이하를 지원하려면 이 패키지를 써야 한다.

푸시 노티피케이션 메서드 호출 시 에러가 나는 문제

섹션 제목: “푸시 노티피케이션 메서드 호출 시 에러가 나는 문제”
  • 원인: 이전 업그레이드 때도 겪은 이슈로, 구버전 OneSignal API와 Unity Notifications 패키지가 중복되어 발생했다.
  • 해결: OneSignal 패키지를 바꾸는 것보다 Unity Notifications 버전을 낮추는 쪽이 공수가 덜 들어, 지난번과 같이 Unity Notifications 버전을 낮췄다.
  • 현상: Unity에서 Xcode 프로젝트까지는 정상적으로 생성되지만, Xcode 빌드 시 Property 'skipRendering' not found on object of type 'UnityView *' 에러와 함께 빌드가 실패했다.
  • 원인: 세로형 슬롯 머신 작업 당시 iOS에서 간헐적으로 화면 회전이 정상 동작하지 않는 문제가 있어, 커스텀 .mm 파일을 빌드 후처리(PostProcessIOSBuild)에서 교체하고 있었다. Unity 2022에서 이 파일이 참조하던 필드가 제거되었다.
  • 해결: iOS 회전 버그용 후처리 로직을 제거했고, 빌드에 성공했다.