Unreal 안드로이드 릴리즈 16KB 페이지 크기 지원

개요

Unreal 로 개발해서 Google Play 에 올린 게임이 있었습니다. 8월 말쯤 다음과 같은 제목으로 메일이 도착했습니다.

[조치 필요] 귀하의 앱이 Google Play 16KB 페이지 크기 요구사항의 영향을 받습니다

이상한 것은 5.6 으로 개발해서 배포한 게임은 해당 메일이 오지 않았습니다. 내용을 확인해 보고 조치하기로 했습니다.

내용확인

검색을 해 보니 구글의 정책에 따라 16KB Google Play 호환성 요구 사항이 있었습니다. 11월 1일 이전까지는 해결해야 하는 문제였습니다. 자세한 내용은 이곳을 참조하시면 됩니다. 요약하면 16KB 페이지 크기를 지원하도록 기존에 배포한 게임/앱을 다시 빌드해서 올리라는 것 이었습니다.

조치사항

위에 언급한 링크에서는 APK 분석기를 이용해서 검사하라고 했는데 문제가 있으니 메일이 왔을것이라고 생각해서 생략했습니다.

자료를 찾아보니 제가 생각하기에는 NDK 버전이 중요할 것 같았습니다. Unreal 에서 빌드한 APK(aab) 파일에 여러가지 요소가 있을 것 같은데 그 라이브러리들도 모두 같이 업데이트 되어야 하는지의 여부가 불투명 했습니다. 이렇게 생각하니 너무 복잡해 질 듯 해서 일단 NDK 버전을 최신으로 올려서 빌드해 보기로 했습니다.

Unreal 버전도 5.6 이상으로 해야 16KB 페이지 크기를 지원합니다. 이전 버전으로 개발되었다면 엔진 버전을 5.6 이상으로 변경하셔야 합니다. 필자는 5.6.1 버전으로 빌드 했습니다.

NDK 29.0.14206865 버전을 설치하고 다음과 같이 Project Settings > Platforms > Android SDK 섹션에서 다음과 같이 설정했습니다.

NDK 설정
NDK 설정

본인의 환경에 맞게 SDK, NDK 위치를 지정해 주시면 됩니다.

설정 후 빌드해 보니 문제가 없었습니다. 문제는 올려서 통과가 제대로 되는지 였습니다. Google Play 에 게임을 올리고 업데이트가 완료 후 [앱의 최근 정책 위반이 해결됨] 이라는 알림까지 받고 마무리 할 수 있었습니다.

다행히 복잡한 문제는 발생하지 않았습니다. 16KB 페이지 크기 지원 문제로 고민하시는 분들께 도움이 되었으면 합니다.

Unreal 5.6 안드로이드 배포판 터치되지 않는 문제 해결

개요

이전 버전으로 개발된 프로젝트를 5.6 으로 변경해서 안드로이드용 패키지 파일을 빌드해서 실 기기에서 테스트 한 적이 있었습니다. 이상하게도 전혀 터치가 되지 않아 게임 진행이 불가능 했습니다. 도저히 해결할 수 없어서 다시 원래의 버전으로 되돌렸습니다.

현상

에디터에서는 문제 없이 동작하는데 안드로이드용 패키지로 빌드해서 설치하면 발생하는 문제였습니다. 터치가 전혀 일어나는 것은 아니었습니다. 로그를 추가해서 확인해보니 터치 이벤트는 발생하는데 게임내에서 의도한 동작은 전혀 반응이 없었습니다.

해결

다른 문제에 관한 자료를 검색하다가 우연히 해결 방법을 찾았습니다. 결론은 Project Settings > Platforms > Android > Input > Allow Bluetooth controllers 항목을 체크하면 제대로 화면 터치가 동작하여 정상적으로 게임이 동작하게 됩니다. 필자의 경우 5.6.1 버전이었습니다.

Allow Bluetooth controllers 항목 체크
Allow Bluetooth controllers 항목 체크

Allow Bluetooth controllers 항목이 언제부터 있었는지 확인하지는 못했습니다. 화면 터치가 되지 않는 부분과 관계가 없어 보이는데 이 항목을 체크하고 다시 빌드/배포하면 정상적으로 동작하는 것을 확인할 수 있었습니다.

테스트 할 때는 잘 되는데 Google Play 에 올렸을 때 문제가 있다는 글도 있었는데 필자의 경우에는 그런 문제가 발생하지는 않았습니다.

혹시 모르니 실 기기에서 테스트 시 문제가 없는 것을 확인하신 후 Google Play 에 올리신 것을 받으셔서 다시 확인해 보시기 바랍니다.

필자와 같은 문제를 겪으신 분들에게 도움이 되었으면 좋겠습니다.