-
Notifications
You must be signed in to change notification settings - Fork 0
Package Manager
Unity의 Package Manager는 Unity 프로젝트에서 사용할 수 있는 코드, 리소스, 설정 등의 모듈화된 컴포넌트들을 관리하고 제공하는 시스템이다. .unitypackage
형식의 파일로 모듈화된 컴포넌트들을 '패키지'라고 부릅니다. Package Manager를 사용하면 여러 가지 기능과 확장성을 Unity 프로젝트에 쉽게 추가할 수 있다. 또한, 패키지를 통해 Unity 프로젝트 간에 코드와 리소스를 쉽게 공유할 수 있게 해준다. 특히 재사용해야하는 구성 요소나 라이브러리를 만들 때 매우 유용하다.
- 내장 패키지: Unity에서 기본적으로 제공하는 기능(예: URP, HDRP, 2D 도구 등)을 패키지 형태로 제공하여 필요에 따라 추가하거나 제거할 수 있다.
- 커뮤니티 및 제3자 패키지: Unity Asset Store뿐만 아니라 다른 곳에서도 제공되는 패키지를 쉽게 찾고 설치할 수 있다.
- 버전 관리: 설치된 패키지의 버전을 확인하고 업데이트할 수 있습니다. 이를 통해 안정성과 호환성을 유지할 수 있다.
- 종속성 관리: 어떤 패키지가 다른 패키지에 의존하는 경우, 해당 의존성을 자동으로 처리(같이 설치)해 준다.
Unity 에디터의 상단 메뉴에서 'Window' > 'Package Manager'를 선택하여 Package Manager 창을 연다. 창의 왼쪽 상단에서 'Packages' 드롭다운을 통해 다양한 소스(예: 'In Project', 'Unity Registry', 'My Assets' 등)에서 패키지를 검색할 수 있다. 원하는 패키지를 선택한 후 'Install', 'Update' 또는 'Remove' 버튼을 사용하여 패키지를 관리할 수 있다.
혹은 + 버튼을 눌러 package.json
나 .tar.gz
, .tgz
파일을 찾아 패키지를 직접 추가하거나, 패키지 이름을 직접 입력하거나, git 저장소에서 바로 pull 받아올 수 있다.
- 프로젝트의 구조 정리: 패키지에 포함될 모든 Property나 Assets을 특정 폴더에 구성한다. 이 폴더는 나중에 패키지로 내보내기 위한 핵심 폴더가 된다.
- 패키지 메타데이터 생성: 패키지를 정의하는 package.json 파일을 생성한다. 이 파일은 아래와 같이 패키지의 이름, 버전, 의존성 및 기타 메타데이터 정보를 포함해야한다.
{
"name": "com.your.packagename",
"version": "1.0.0",
"displayName": "표시할 패키지 이름",
"description": "패키지 설명",
"unity": "2022.3",
"dependencies": {
"com.unity.some-dependency": "1.2.3"
}
}
- .gitignore: 패키지와 관련되지 않은 파일이나 폴더를 제외하기 위한 파일
- CHANGELOG.md: 패키지의 변경 내역
- LICENSE.md: 패키지의 라이선스 정보
- README.md: 패키지의 사용 방법 및 기타 정보
Unity 에디터에서 Assets > Export Package...를 선택, 패키지에 포함될 항목들을 선택하고 Export 버튼을 클릭한다.
패키지를 다른 프로젝트에 사용하려면 Assets > Import Package > Custom Package...를 선택하여 패키지를 가져오거나, 또는, Package Manager에서 패키지를 로컬 경로나 Git URL을 통해 직접 추가가 가능하다.