앱 다운로드 크기에 영향을 미치는 Project Setting 옵션 정리
중요도 : 상
난이도 : 하
프로젝트 세팅창에서 Player 메뉴를 살펴보면 배포 되는 빌드 버전의 옵션들을 설정 할 수 있다.
- Target Arhitectures
Target Achitectures 에는 빌드에 포함 되는 CPU 아키텍쳐 버전을 선택 할 수 있는데
각각
ARMv7은 ARM의 모바일 아키텍쳐( 안드로이드 32bit )
ARM64는 ARM의 모바일 아키텍쳐 ( 안드로이드 64bit )
x86는 인텔 32bit CPU 아키텍쳐
x86-64 인텔 64bit CPU 아키텍쳐
를 말한다.
당연히 체크된 아키텍쳐 수에 따라 앱 사이즈가 늘어나게 된다.
구글 플레이스토어에 배포하는 것이 목적이라면 ARM64 와 ARMv7 만 선택 하고 나머지는 제외하길 추천.
만약 32bit 안드로이드 폰을 제외하면서 빌드사이즈를 줄이고 싶다면 ARM64만 체크하면 된다.
이때 구글콘솔에 앱을 배포할시 32bit 안드로이드 폰은 자동으로 타겟에서 제외 된다.
몇 년전까지만 해도 32bit안드로이드 폰까지 지원을 하는게 대세였는데 최근에는 64bit만 지원하는 게임들이 많아지고 있다.
- 참고로 APK 가 아닌 AAB 형식으로 배포하게 되면( Build Setting 창에서 설정 ) ARM64 와 ARMv7 둘다 빌드에 포함되어도
유저가 다운로드 하는 앱의 크기는 모바일 기기의 아키텍쳐에 따라 정해지기 때문에 실제 개발자가 배포한 앱 크기보다 작게 된다.
APK는 ARM64 와 ARMv7 가 모두 포함.
Split APK by Target architecure 옵션을 키면 아키텍쳐에 따라 분리된 APK 파일을 얻을 수 있다.
- API Compatibility Level
유니티에서 제공하는 가이드에서는 .NET 버전에 따라 빌드크기가 차이가 있다고 설명 되어 있는데
별도의 .NET 라이브러리를 임포트 하지 않은 경우에는 테스트 결과 1Mb 내외의 차이만 보인다.
- Optimization
3D Mesh에 대한 최적화 옵션들을 선택 할 수 있다
대부분의 프로젝트는 Mesh 데이터 크기가 Texture나 애니메이션 데이터에 비하면 비중이 작기 때문에 최적화 효과를 보기 힘들지만
만약 개발하는 프로젝트의 Mesh 데이터가 크다면 고려 할만 하다.
Vertex Compression 은 메쉬의 데이터 중에서 압축을 할 데이터를 설정 할 수 있다.
메쉬 압축은 손실 압축이라 압축을 하게 되면 데이터가 달라 질 수 있다.
적용 후 게임 진행에 문제가 없는지 꼭 확인이 필요하다.
Optimize Mesh Data는 사용하지 않는 매쉬의 컴포넌트를 빌드에서 자동 제외 하는 옵션이다.
개발중인 프로젝트의 경우 Mesh 데이터는 약 3.6M 정도 인데 빌드 옵션에 따라 최종 앱의 크기는 대략 0.5Mb 차이를 보인다.
'유니티 최적화' 카테고리의 다른 글
[유니티 최적화] 앱 다운로드 크기 최적화 #6 ( 폰트 font 사이즈 줄이기 ) (0) | 2023.02.23 |
---|---|
[유니티 최적화] 앱 다운로드 크기 최적화 #5 ( Audio 사이즈 줄이기 ) (1) | 2023.02.22 |
[유니티 최적화] 앱 다운로드 크기 최적화 #3 ( Compression Method 설정 ) (0) | 2023.02.22 |
[유니티 최적화] 앱 다운로드 크기 최적화 #2 ( 빌드에 포함된 리소스 크기 확인 ) (0) | 2023.02.22 |
[유니티 최적화] 앱 다운로드 크기 최적화 #1 ( 앱 크기가 다운로드에 미치는 영향 ) (0) | 2023.02.22 |