본문 바로가기

유니티 최적화

[유니티최적화] 용량 최적화 (#12 Minify 옵션)

Minify 옵션

 중요도 : 중

 난이도 : 상

Player setting-> Custom Proguard File 설정에서 Minify 옵션을 확인 할 수 있습니다.


  • 스크립트 파일(.cs)의 코드 들은 모두 실행 파일에 포함됩니다. 유니티에서는 사용하지 않는 코드들을 빌드시 제거하면서 난독화를 해주는 기능으로 Proguard라는 기능을 지원합니다. 사용하지 않는 코드들이 제거 되기 때문에 스크립트 파일의 용량이 줄어들고, 코드를 난독화 해주기 때문에 보안측면에도 이점이 있습니다. 2019 이전버전에서는 proguard설정만 할 수 있었는데 2020이상 버전에서는 R8기능을 사용 할 수 있습니다. R8은 디슈가링, 축소, 난독화, 최적화, 덱싱 등 더 많은 코드 최적화 기능이 추가 되었다고 설명하고 있습니다. Player setting 창에서 Publising 창에서 설정 할 수 있습니다. Use R8 을 체크 하면 proguard  대신 R8을 사용 하는 것이고 Debug 빌드와 Release 빌드에 적용 할지 여부를 체크 할 수 있습니다. 안드로이드에는 함수 개수가 6만5천여개 이하로 유지 되어야 하는데 3rd SDK 들을 많이 사용하게 되면 함수 개수를 초과 하는 경우가 있습니다.  Proguard나 R8을 사용해서 함수 개수를 줄일 수 있습니다. 주의할 점은 3rd SDK의 경우에 종종 사용하고 있는 기능이 제거 되는 경우가 있습니다. 명시적으로 proguard-user.txt 파일에 명시적으로 제거 하지 않을 패키지나 파일을 설정 할 수 있습니다.
    Player setting-> Custom Proguard File 설정


    예) Proguard-user.txt파일에 다음 구문 추가

롤롤(Roll Roll) 프로젝트 적용 사례
최적화 시점이 소프트런칭 직전이였기 때문에 3rd party SDK에서 문제가 발생할 여지가 많은 스크립트 최적화 설정은 적용하지 않았습니다. 추후에 테스트 이후에 적용할 예정입니다.