유니티 공식 가이드

유니티에서 제공하는 문서의 내용을 참조

에디터 로그

  • 빌드 후 콘솔 창 오른쪽 상단의 드롭다운 메뉴 클릭 후 Open Editor 선택
  • 로그 파일을 보면서 필요없는 파일이나 제대로 조정되지 않은 리소스가 포함되지 않았는지 확인

텍스처

  • 텍스처 원본의 사이즈를 줄일 필요는 없고, 인스펙터의 임포트 세팅에서 사이즈를 변경
  • 플랫폼 별로 알맞은 압축 방식을 지정. 유니티에서 사용되는 텍스처 포맷에 대한 설명은 이 문서를 참조

DLL

  • Stripping Level의 설정을 Strip Assemblies 이하로 설정 시 사용하지 않는 어셈블리(dll 파일)을 빌드파일에 포함하지 않음.
  • 문서를 보면 특정 컨테이너는 System.dll에 포함되므로 그런 컨테이너를 피하라고 적혀있음.
  • 정확하게는 List, Dictionary와 그에 관련된 컬렉션 컨테이너 이외에는 모두 System.dll에 포함(LinkcedList, Stack, Queue, SortedDictionary 등)
  • 하지만 Unity 5 이후에는 UnityEngine.dll이 System.dll과 System.Core.dll을 참조하므로 빈 프로젝트를 빌드해도 두 어셈블리가 포함되는 것을 막을 수 없음.
  • 실제로 빌드해보면 어셈블리 자체는 들어가있으나, Stripping Level을 설정하는 경우 Disabled로 설정했을 때보다 확실히 작아진 어셈블리가 포함됨[각주:1]

다중 APK 지원 이용

대상 디바이스로 FAT(arm + x86)을 지정하면 두 플랫폼용 라이브러리가 같이 들어가서 용량이 커짐. 조금이라도 용량을 줄이고 싶다면, 플랫폼별로 따로 빌드하는 것도 고려해볼 수 있음. 다행히 구글 플레이에서는 한 앱에 기능별로 다른 APK를 제공할 수 있는 기능이 있음.

다중 APK 지원을 위한 기본 규칙

  1. 모든 APK는 패키지 명이 같아야 하고, 같은 인증키를 사용하여 사인되어야 함.
  2. APK 별로 버전 코드가 서로 달라야 함.
  3. API level이 높을수록 버전 코드가 높아야 함.
  4. 높은 버전 코드에서 낮은 버전 코드로 업데이트할 수 없음.

이상의 규칙으로 인해 구글 측에서는 다음과 같은 버전 코드 규칙을 가이드라인으로 제시하고 있음.

위와 같이 API level을 가장 앞에, 앱 버전을 가장 뒤에 두고 그 사이에 플랫폼이나 OpenGL ES 버전, 텍스처 포맷 등의 구분자를 넣어 작성하는 것을 추천.

관련 문서


  1. 유니티 2017.1에서 테스트 [본문으로]

+ Recent posts