Unity

Unity Project Auditor로 프로젝트 분석/최적화 하기

테서르 2025. 7. 6. 21:00
반응형

📢 이 게시글은 아래의 사양에서 확인하였습니다.

Unity Version: 2022.3.51, 6000.0.50

 

 

유니티로 프로젝트를 진행하다보면 코드나 설정들이 최적화에 얼마나 영향이 있는지 확인을 해야 할 때가 있다. 이를 위한 각종 오픈소스나 에셋들이 있었는데 찾다보니 유니티에서 공식적으로 제공을 하고 있는 분석 도구인 Project Auditor를 알게 되었다.

공식 문서 링크: https://docs.unity3d.com/Packages/com.unity.project-auditor@1.0/manual/project-issues-introduction.html

 

공식 문서 첫페이지

Project Auditor라는 이름 그대로 현재 프로젝트를 전부 검사해서 스크립트, 에셋 설정, Shader, 프로젝트 설정, 그리고 빌드 결과 리포트를 분석해서 얼마나 영향이 있는지와 권장 설정을 알려준다. 깃허브에서 공유가 되다 현재 버전인 1.0.1로 공식 패키지가 된지는 얼마 되지 않은 것 같다.

설치는 공식 패키지므로 Package Manger에서 Add package by name을 눌러 com.unity.project-auditor를 입력하거나, com.unity3d.kharma:upmpackage/com.unity.project-auditor를 클릭하면 패키지 매니저에 자동으로 입력이 된다.

2025-07-06일 기준으로 1.0.1 버전이 최신인데 설치를 하고나면 2022.3 버전은 공식적으로 지원을 하지 않는다는 주의를 볼 수 있다.

 

이 주의는 Unity 6에서도 확인이 되는데 2022.3.51f1에서도 잘 사용했고, 버전 업데이트를 해서 현재 6000.0.50f1을 사용하고 있는데 이 버전에서도 큰 문제 없이 잘 사용하고 있다.

 

 

설치를 한 후 Window->Analysis->Project Auditor를 선택하면 Project Auditor 창이 열린다.

 

창이 열리고 'Start Analysis' 버튼을 누르면 프로젝트 검사를 시작한다. 당연하겠지만 프로젝트에 포함된 파일이 많다면 시간이 꽤 오래 걸린다. 가능하다면 사용하지 않는 에셋들은 정리를 한 후 사용하는 편이 좋다.

 

github에 올라와있는 Unity의 오픈소스 게임 프로젝트인 Chop Chop으로 분석 결과의 요약이다. 코드, 에셋, 프로젝트 설정과 가장 많은 수의 이슈를 볼 수 있다. 또한 빌드를 한 적이 있다면 Build Report까지 한번에 확인이 가능하다.

이 프로젝트에는 Major/Critical처럼 최적화에 강하게 영향을 주는 것은 없는 것으로 나온다. 대신 수정하면 좋은 Moderate가 에셋 쪽에 많고, 소소한 Minor는 코드쪽에 많이 있다. 왼쪽의 각 항목을 클릭해도 되고, Go to Code 같은 버튼을 눌러 상세 내역을 확인할 수 있다.

 

코드쪽 상세 화면에서는 이슈 내용, 심각성, 영향을 끼치는 구역, 코드 파일명, Assembly,  설명, 무시 여부를 확인할 수 있다. 이슈 중 하나를 선택하면 우측에 상세 내용과 추천을 확인할 수 있다. 그리고 필터 기능도 있어서 특정 Assembly만 보거나 Memory, CPU 등 영향을 받는 구역을 선택할 수 있다

여기서 반드시 추천사항으로 변경할 필요는 없고, 할 수도 없다. 외부 에셋을 포함해서 프로젝트 전체를 검사하기 때문에 수정하기 어려운 부분이 있다. 때문에 문서에서도 반드시 추천 사항을 적용할 필요는 없고, 선택적으로 하면 된다고 되어있다.

그러니 수정이 어려운 외부 에셋이나 반드시 사용해야 되는 경우는 우측의 `Ignore Issue`를 눌러 목록에서 뜨지 않게 할 수 있다. 물론 분석을 다시 한다면 Ignore도 다시 해 줘야한다. 그러니 분석은 어느정도 수정이 된 후에 한번씩 해 주는 편이 좋다.

 

Assets 탭에서 Asset Issues 항목은 Code 탭의 Assembly 필터를 제외하고는 동일하다. Audio, Mesh, Texture 등의 에셋들의 설정을 분석해 추천 사항을 알려준다.

Asset Issues에서 Resources folder asset 이슈를 확인할 수 있는데, 유니티는 폴더의 이름이 'Resources'인 경우 상위 폴더가 Editor인 경우를 제외하고 빌드 시 전부 포함하는데, 외부 에셋들을 보면 Resources 폴더를 사용하는 경우가 대부분이다.

그래서 실제 프로젝트에서는 사용하지 않는 에셋의 Sample 폴더의 Resources도 포함이 되어 빌드 용량을 늘린다. 따라서 미처 확인하지 못했던 에셋들을 정리할 수 있다.

 

그 외 Textures, Meshes, Audio Clips 같은 항목들은 해당 타입의 에셋의 설정들을 목록으로 확인할 수 있다. 

 

파일 크기나 설정등을 확인할 수 있고 더블클릭하면 Project 탭에서 해당 에셋이 바로 선택된다. 이 외에는 목록은 csv로 내보낼 수 있는 Export 기능이 있긴 한데 어디에 사용하는지는 잘 모르겠다.

 

 

쉐이더 쪽은 추천사항은 따로 없고 쉐이더 목록과 경고 메시지 등을 확인할 수 있다. Materials 탭은 그냥 프로젝트에 있는 마테리얼 목록을 보여주는 거라 딱히 사용할 일은 없을 것 같다.

 

Project Settings는 말 그대로 프로젝트의 설정과 관련하여 추천 설정을 알려준다. 일반적으로 권장을 하는 것이지 프로젝트 상황에 맞게 적용을 하면 된다.

 

Build 탭에서는 가장 최근 빌드 결과를 한눈에 볼 수 있다. 빌드 결과가 없다면 아무것도 뜨지 않는다. 빌드에 포함된 에셋들도 확인이 가능하므로 용량을 많이 차지하는 에셋을 확인하여 설정을 변경할 수 있다.

 

 

유니티를 사용은 하지만 디테일하게 알지는 못해서 최근 진행중인 프로젝트에서 이 패키지의 도움을 많이 받고 있다. 어쩌다보니 알게 된 패키지인데 생각보다 알려지지 않은 것 같다. 만약 유니티를 잘 모르거나 최적화에 대해 조금이나마 도움을 받고 싶은 경우에는 충분한 도움을 줄 것이다.

반응형