언리얼로 안드로이드 프로젝트를 만들 수 있도록 환경세팅을 하고,
프로젝트를 패키징하고,
Google Play Game Service에 출시가 가능하도록 세팅하는 방법에 대한 내용이다.
안드로이드 스튜디오
먼저 Android Studio를 설치하고 Android SDK를 연동하여, 언리얼에서 안드로이드 작업이 가능하도록 한다.
docs.unrealengine.com/en-US/SharingAndReleasing/Mobile/Android/Setup/AndroidStudio/index.html
언리얼 안드로이드 개발환경 세팅, 기본 패키징
다음으로 언리얼 에디터를 안드로이드 개발 환경으로 세팅하는 방법과, 패키징하는 방법에 대한 내용이다.
docs.unrealengine.com/en-US/SharingAndReleasing/Mobile/Android/GettingStarted/index.html
구글 출시 패키징을 위한 프로젝트 세팅 & 시행착오
1. 패키징할때 언리얼 document가 리다이렉팅된다면, Intermediate 폴더를 제거하고 다시 실행해보면 될 수 있다.
2. Google Play Game Service에 게임을 올릴 경우, 디버그 모드인 게임은 올라가지 않는다.
프로젝트 세팅 -> 패키징 -> 프로젝트 ->
빌드 환경설정 = Shipping
풀 리빌드 = true
배포용 = true
디버그 파일 포함 = true
(Google Play Game Service에 앱을 올릴 경우 디버그 심볼을 추가하라고 경고가 뜨는데, 이 세팅을 해주어도 경고가 사라지지는 않았다.)
3. Google Play Game Service에 게임을 올릴 경우, 패키지 이름을 적절하게 설정해주어야 한다.
패키지 이름 포맷은 com.{CompanyName}.{ProjectName} 형태로 넣어주면 된다.
프로젝트 세팅 -> 플랫폼 -> Android -> APK 패키징-> Android 패키지 이름
ex) com.tortoisegames.TowerDefense
4. Google Play Game Service에 게임을 올릴 경우, 스토어 버전이 같은 app가 이미 올라가 있으면 게시가 되지 않는다.
스토어 버전을 올려준다.
프로젝트 세팅 -> 플랫폼 -> Android -> APK 패키징 -> 스토어 버전
5. Google Play Game Service에 게임을 올릴 경우, 타겟 SDK 버전이 낮은 경우 게시가 되지 않는다.
SDK 버전을 30으로 올려준다.
프로젝트 세팅 -> 플랫폼 -> Android -> APK 패키징 -> 타깃 SDK 버전 = 30
developer.android.com/distribute/best-practices/develop/target-sdk.html
6. OBB 파일이 .apk 파일에 포함되어있지 않으면, 다음과 같은 에러가 발생할 수 있다.
Xapk validation failed google play
.apk 파일에 obb가 포함되도록 한다.
프로젝트 세팅 -> 플랫폼 -> Android -> APK 패키징 ->
.apk 안에 게임 데이터 패키징? = true
첫 번째 시작/업데이트 시 OBB 검증을 비활성화 = true
대형 OBB 파일을 허용합니다. = true
추가 세팅
UE4Game 파일에 Use ExternnalFilesDir 사용? = true로그 파일을 항상 공용으로 엑세스 가능하게 설정? = true
7. Google Play Game Service에 적합한 형태인 번들 형태로 패키징하도록 한다.
프로젝트 세팅 -> 플랫폼 -> Android -> 앱 번들 -> 번들 생성(AAB) = true
8. Google Play Game Service에서 이후로는 64bit 빌드만 지원하겠다고 한다.
프로젝트 세팅 -> 플랫폼 -> Android -> 빌드 -> arm64[aka arm64-v8a] 지원 = true
9. 안드로이드 keystore를 생성하고 언리얼 클라이언트에 등록하여, 언리얼 클라이언트가 정상적으로 Google Play Game Service에 출시될 수 있도록 한다.
(기본적으로는 C:\Users\{userid}\.android 경로에 debug.keystore가 있지만, 정식 출시나 내부 테스트가 가능하도록 하려면 결국 직접 keystore를 생성해줄 필요가 있다.)
Keystore 생성 방법
(keytool.exe는 일반적으로 C:\Program Files\Android\Android Studio\jre\bin 경로에 있다.)
docs.unrealengine.com/en-US/SharingAndReleasing/Mobile/Android/DistributionSigning/index.html
10. Google Play Game Services의 정보를 언리얼 클라이언트에 기입하여, 서비스 이용이 가능하도록 한다.
(이 작업이 가능하려면, Google Play Console에 앱 등록까지는 선행되어 있어야 한다.)
프로젝트 세팅 -> 플랫폼 -> Android -> Google Play Services ->
Google Play 지원 활성화 = true
게임 앱 ID = 프로젝트 ID
(Google Play Console 왼쪽 메뉴 -> 성장 -> Play Game Service -> 설정 및 관리 -> 설정 -> 앱이름 아래 프로젝트 ID)
Google Play 라이선스 키 = 라이선스 키(Google Play Console 왼쪽 메뉴 -> 수익 창출 -> 수익 창출 설정 -> 라이선스 키)
11. Google Play Console 내부 테스트 중 앱을 업로드 하였을 때, 다음과 같은 경고문이 나타날 수 있다.
이 문제는 언리얼 엔진 버전을 4.26으로 업그레이드하면 해결된다.
12. Google Play Console 내부 테스트 중 앱을 업로드 하였을 때, 다음과 같은 경고문이 나타날 수 있다.
추가 참고자료
언리얼 안드로이드 관련 기본 문서, Getting Started 페이지
docs.unrealengine.com/en-US/SharingAndReleasing/Mobile/Android/index.html
Unreal Android Packaging (속성값 세팅 참고)
www.youtube.com/watch?v=3Imqb73WVeg
'게임 엔진 > Unreal' 카테고리의 다른 글
[Unreal] Android 디버깅 방법들 (0) | 2021.03.18 |
---|---|
[Unreal] 언리얼로 Google Play 결제 시스템 이용하기 (3) | 2021.03.04 |
[Unreal] 언리얼 Tick 시스템 (4) | 2021.01.20 |
[Unreal] 언리얼 프로젝트 소스코드를 옮기는 방법 (Redirect) (0) | 2021.01.19 |
[Unreal] 언리얼 메모리 관리 시스템 (Smart Pointer, GC) (5) | 2021.01.19 |