모바일, 콘솔 및 PC 게임 최적화를 위한 2022 LTS 베스트 프랙티스 가이드

시간이 지나면 휴대폰의 크기가 커지거나 작아지기도 하고, PC의 성능은 더 강력해지며, 다양한 비주얼 스타일이 유행하거나 사라지곤 합니다. 하지만 게임 개발에서 변하지 않는 원칙이 한 가지 있는데, 언제나 타겟 하드웨어에 맞춰 게임을 최적화해야 한다는 것입니다.
새롭게 업데이트된 유니티의 최적화 가이드를 소개합니다. 모바일 게임 성능 최적화와 콘솔 및 PC 게임 성능 최적화 가이드에서 Unity 2022 LTS의 최신 업데이트 내역과 함께 프로젝트 최적화에 도움이 되는 팁과 전략, 문제 해결 방법을 확인할 수 있습니다.

본 가이드는 Accelerate Solutions 팀의 심도 있는 지식을 바탕으로 작성되었습니다. 유니티 최고의 시니어 소프트웨어 엔지니어들로 구성된 Accelerate Solutions 팀은 다양한 Unity 고객을 지원하며, 게임 프로젝트를 구체적으로 분석하여 성능 최적화를 통해 속도와 안전성, 효율성 개선 효과를 낼 수 있는 부분을 식별합니다.
참고: Unity 2020 LTS 사용자를 위해 해당 버전의 가이드도 계속 제공됩니다. 모든 고급 기술 및 제작과 관련된 전자책은 Unity 베스트 프랙티스 허브에서 확인하실 수 있습니다.

각 가이드에는 프로파일링 툴, 프로그래밍 및 코드 아키텍처, 에셋 활용, 렌더 파이프라인, UI 등 다양한 분야에 적용할 수 있는 실용적인 팁이 포함되어 있습니다. 추가 기술 자료 및 리소스에 대한 새로운 링크와 업데이트된 링크에서 더 심층적인 내용을 확인할 수도 있습니다.
가이드에서는 다음을 비롯한 다양한 주제를 다룹니다.
병목 현상 식별:성능 최적화의 기초 방법론 이해 및 Unity 프로파일러와 Profile Analyzer 사용법, 모바일 디바이스 온도를 적정 수준으로 유지하는 방법, 특정 프레임 할당량 준수 및 프로젝트가 CPU 의존적인지 GPU 의존적인지 확인
메모리 관리: Memory Profiler 사용법, 가비지 컬렉션 작업을 줄이는 방법, 점진적 가비지 컬렉터 사용법
프로그래밍 및 코드 아키텍처: 비용이 많이 소요되는 코드를 최소화하는 방법, 문자열 파라미터 대신 해시값을 사용해야 하는 이유, 올바른 데이터 구조를 선택하는 방법, ScriptableObject를 사용한 성능 개선

프로젝트 설정: 불필요한 플레이어나 품질 설정 또는 물리를 비활성화하는 방법, 계층 구조를 키우지 않고 Vsync를 활용하는 방법
에셋: 텍스처를 올바르게 임포트하고 압축하는 방법, 폴리곤 수 확인, AssetPostprocessor로 임포트 설정 자동화, Unity DataTools 사용법, 어드레서블 에셋 시스템(Addressable Asset System) 활용법
그래픽스 및 GPU 최적화(모바일):드로우 콜 배칭을 사용하는 시기, 동적 광원 수 줄이기, 광원 레이어의 효과적인 사용법, 오클루전 컬링으로 숨겨진 오브젝트를 제거하는 방법, 모바일 디바이스의 네이티브 해상도 회피, 오버드로우와 알파 블렌딩 최소화, 포스트 프로세싱 효과 처리 방법 등
그래픽스(콘솔/PC): 렌더 파이프라인과 셰이더 그래프를 최적화하는 방법, 빌트인 셰이더 설정 삭제, 셰이더 배리언트 스트리핑, 반사 프로브와 그림자, 셰이더 이펙트 사용법
GPU 최적화(콘솔/PC):GPU 벤치마킹 방법, 필 레이트 최적화 및 오버드로우 줄이기, 드로잉 순서 및 렌더 대기열 확인, 배치 카운트 줄이기, Graphics Jobs 활성화, 테셀레이션 셰이더 방지, 지오메트리 셰이더를 컴퓨트 셰이더로 대체하는 방법

사용자 인터페이스:UGUI 및 UI 툴킷의 차이점 이해, 캔버스 분할 방법, 보이지 않는 UI 요소 숨기기, GraphicRaycaster 제한 및 Raycast Target 비활성화, 레이아웃 그룹을 지양해야 하는 이유, 대형 리스트 및 그리드 뷰, 다양한 오버레이 요소 사용법
물리:콜라이더를 단순화하는 방법, 시뮬레이션 빈도 조정, MeshCollider용 CookingOption 변경, 대형 씬에 상자 분할(Box Pruning)을 사용하는 방법, 솔버의 반복 횟수 변경, 자동 트랜스폼 동기화의 비활성화, 충돌 콜백 재사용, 정적 콜라이더 이동, 비할당 쿼리 사용법, 레이캐스팅을 위한 쿼리 배칭, Physics Debugger로 시각화하는 방법
오디오:모노와 스테레오 비교, 압축 기법, 로드 타입 및 음소거된 AudioSource를 메모리에서 언로드하는 방법, 무손실 파일을 소스로 사용, AudioClip을 줄이고 AudioMixer를 최적화하는 방법


모바일, PC 및 콘솔 게임 최적화 작업은 게임 개발 사이클 전체를 뒷받침하는 프로세스입니다. 이전 섹션에서 살펴본 여러 요점 목록에서 볼 수 있듯이, 유니티의 전자책은 스크립팅, 렌더링, 그래픽스, 프로파일링 등 게임의 모든 측면에 대한 다양한 팁을 제공합니다.
유니티의 전자책뿐만 아니라 관련 주제를 다루는 다음 최적화 가이드도 참조해 보세요.
- Unity 게임 프로파일링 완벽 가이드
- Unity 고급 사용자를 위한 유니버설 렌더 파이프라인
- 게임 개발자를 위한 버전 관리 및 프로젝트 구성 베스트 프랙티스
- 게임 프로그래밍 패턴으로 프로그래밍 스킬 업그레이드
- HDRP(고해상도 렌더 파이프라인) 조명 집중 탐구 가이드(Unity 2021 LTS 버전)
- Unity에서 스크립터블 오브젝트로 모듈식 게임 아키텍처 만들기
유니티의 최신 모바일 및 콘솔/PC 게임 최적화 가이드가 도움이 되기를 바랍니다.
유니티의 베스트 프랙티스 허브 또는 Unity 기술 자료의 고급 베스트 프랙티스 페이지에서 모든 전자책과 사용법 문서를 확인할 수 있습니다.