Unity 매뉴얼 스크립팅 API 가이드
이 문서는 Unity의 패키지 관리자와 프로젝트 종속성 관리의 기초에 대해 설명합니다. 아래에서 제공하는 내용은 Unity에서 사용하는 패키지 및 종속성 관리의 중요성과 작동 방식을 간단하게 정리한 것입니다.
패키지 관리자란?
Unity의 패키지 관리자는 다양한 패키지를 프로젝트에 추가하고 관리하는 도구입니다. 패키지는 다른 패키지와 연결된 종속성을 가질 수 있으며, 이를 통해 프로젝트의 요구사항을 더욱 세밀하게 조정할 수 있습니다.
직접 및 간접 종속성이란?
- 직접 종속성: 프로젝트에서 직접적으로 사용하는 패키지.
- 간접 종속성: 직접 종속성이 의존하고 있는 다른 패키지.
Unity는 이러한 종속성을 관리하여 프로젝트가 필요한 모든 패키지와 그 버전을 제대로 설치할 수 있도록 도와줍니다.
종속성 해결 과정
- 프로젝트에 필요한 모든 패키지를 요청합니다.
- 관리자 수준에서 각 패키지의 직접 및 간접 종속성을 재귀적으로 탐색합니다.
- 모든 종속성이 충족되는 패키지 조합을 선택합니다.
- 충돌이 발생하는 경우 최적의 솔루션을 찾습니다.
이 과정에서는 종속성 그래프를 사용하여 각 노드가 나타내는 패키지와 그 버전, 충돌 상황을 확인합니다.
예제 그래프
직접 종속성 | 간접 종속성 | 버전 충돌 |
---|---|---|
skyblue | dark blue | red |
- 하늘색 노드: 프로젝트의 직접 종속성
- 진한 파란색 노드: 간접 종속성과 동일한 패키지 및 버전
- 빨간색 노드: 동일한 패키지의 다른 버전 (충돌)
패키지 관리자의 동작 방식
패키지 관리자는 잠금 파일을 사용해 이전에 사용했던 패키지 버전의 우선 순위를 지정합니다. 이를 통해 다음과 같은 경우에 유용합니다.
- 동일한 입력을 사용하는 후속 종속성 해결 시 동일한 출력을 보장합니다.
- 패키지 다운로드 및 복사와 같은 시간이 많이 소요되는 작업을 최소화합니다.
패키지 관리자의 성능 조정
패키지 관리자 설정에서 resolutionStrategy
속성을 통해 해결 과정의 성격을 조정할 수 있습니다. 기본적으로 패키지는 업그레이드 가능성에 따라 다음과 같은 우선 순위를 가집니다:
- 패치 업그레이드
- 마이너 업그레이드
- 메이저 업그레이드
요약
Unity의 패키지 관리자는 프로젝트의 패키지와 종속성을 효율적으로 관리하는 도구입니다. 패키지의 직접 및 간접 종속성을 이해하고, 충돌 상황을 처리할 수 있도록 설계되어 있습니다. 이를 통해 사용자들은 더욱 안정적이고 유연한 개발 환경을 구축할 수 있습니다.
이 이론을 바탕으로 다양한 Unity 프로젝트에서 실제 응용할 수 있는 방법들을 시도해보세요!