게임 엔진/Unreal

[Unreal] 언리얼 안드로이드 프로젝트 Google Play에 출시하기

AlgorFati 2021. 2. 9. 02:33

언리얼로 안드로이드 프로젝트를 만들 수 있도록 환경세팅을 하고,

프로젝트를 패키징하고,

Google Play Game Service에 출시가 가능하도록 세팅하는 방법에 대한 내용이다.

 

 

안드로이드 스튜디오

먼저 Android Studio를 설치하고 Android SDK를 연동하여, 언리얼에서 안드로이드 작업이 가능하도록 한다.

docs.unrealengine.com/en-US/SharingAndReleasing/Mobile/Android/Setup/AndroidStudio/index.html

 

Setting Up Android SDK and NDK for Unreal

How to set up your Android development environment for Unreal 4.25 and later

docs.unrealengine.com

 

언리얼 안드로이드 개발환경 세팅, 기본 패키징

다음으로 언리얼 에디터를 안드로이드 개발 환경으로 세팅하는 방법과, 패키징하는 방법에 대한 내용이다.

docs.unrealengine.com/en-US/SharingAndReleasing/Mobile/Android/GettingStarted/index.html

 

Android Quick Start

Setting up for development for the Android platform.

docs.unrealengine.com

 

 

구글 출시 패키징을 위한 프로젝트 세팅 & 시행착오

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

 

Google Play의 타겟 API 수준 요구사항 충족하기  |  Android Developers

APK를 업로드하는 경우 Google Play의 타겟 API 수준 요구사항을 충족해야 합니다. 신규 앱 및 앱 업데이트(Wear OS 제외)는 Android 10(API 수준 29) 이상을 타겟팅해야 합니다. 2021년 8월부터 신규 앱은 다음

developer.android.com

 

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

 

Signing Projects for Release

Getting your project ready to be release to the Google Play store.

docs.unrealengine.com

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

 

Android Game Development

Developing games for the Android platform.

docs.unrealengine.com

Unreal Android Packaging (속성값 세팅 참고)

www.youtube.com/watch?v=3Imqb73WVeg

 

forums.unrealengine.com/development-discussion/android-development/21337-please-sticky-when-finished-unreal-engine-4-with-android-how-to-with-obb

 

*Please sticky when finished* Unreal Engine 4 with Android HOW TO (With OBB): - Unreal Engine Forums

For Android developers to discuss development and ask questions.

forums.unrealengine.com