유니티를 사용하다 보면 외부 패키지를 import 해야 하는 경우가 생긴다. 유니티 에셋 스토어에서 에셋을 import 받을 때도 그렇고, 오픈 소스로 공개된 외부 라이브러리를 import 받을 때도 그렇다.
그런데 이렇게 .unityproject
를 import 받게 되면 로컬 프로젝트에 종속되기 때문에 외부 패키지가 업데이트되었을 때 새로 패키지를 import 받아 수동으로 업데이트해 줘야 했다. 또한 외부 패키지가 패키지 단위로 묶여있지 않고, Assets 폴더에 그대로 추가되다 보니 외부 패키지를 삭제해야 할 때 일일이 찾아서 삭제해야 하는 점이 불편했었다.
유니티 패키지 매니저를 사용하면 외부 패키지들은 패키지 단위로 묶여있고 독립적으로 관리되어 필요할 때 패키지를 업데이트하고 삭제할 수 있다. 그래서 프로젝트를 지저분하지 않고 깔끔하게 유지할 수 있다.
유니티에서 Window / Package Manager 로 패키지 매니저를 열 수 있다. 패키지 매니저 창에서 현재 프로젝트에서 사용중인 패키지들과 다른 여러 패키지들의 최신 버전을 확인할 수 있고, 필요한 패키지를 프로젝트에 install 하거나 update, remove 할 수 있다.
패키지 매니저는 프로젝트를 열 때 프로젝트 Packages 폴더에 있는 manifest.json 파일을 읽어온다. 패키지 매니저에서 수정된 내용은 manifest.json 에 반영된다.
Unity 에서 제공하는 패키지 이외의 패키지는 "+" 버튼을 통해 추가할 수 있다. (주로 오픈 소스 유니티 패키지를 가져올 때는 git 주소로 패키지를 추가할 수 있다.)
OpenUPM 은 오픈 소스 UPM(Unity Package Manager) 패키지를 호스팅하고 빌드하기위한 오픈 소스 서비스입니다. OpenUPM 은 오픈 소스 UPM 패키지를 발견, 배포 및 공유하고 이와 함께 커뮤니티를 구축하기 위한 범용 플랫폼을 만드는 것을 목표로 한다.
OpenUPM 또한 Node.js 로 만들어진 모듈이기 때문에 npm 또는 yarn 으로 설치할 수 있다. (nodejs 12 이상 필요)
Install via npm:
npm install -g openupm-cli
Install via yarn:
yarn global add openupm-cli
패키지 추가하기
openupm add <pkg> [otherPkgs..]
openupm add <pkg>@<version>
openupm add <pkg>@git@github.com:...
openupm add <pkg>@https://github.com/...
openupm add <pkg>@file:...
패키지 제거하기
openupm remove <pkg> [otherPkgs...]
더 많은 openupm 명령어는 OpenUPM-Cli 깃헙 페이지를 참고
OpenUPM 을 통해 설치가능한 유니티 오픈 소스 패키지는 OpenUPM 홈페이지에서 검색할 수 있다. 설치하고 싶은 오픈소스 패키지를 검색해서 들어가면 openupm 을 통해 설치하는 명령어가 오른쪽 상단에 있다. 이 명령어를 copy 해서 유니티 프로젝트 경로에서 입력해주면 패키지가 설치된다.
UniTask 를 예를 들면, 오픈 소스의 경우 아래와 같이 깃헙 페이지에 git 주소로 패키지를 설치하거나 OpenUPM 으로 패키지를 설치하는 방법이 안내되어 있다.
유니티 프로젝트에 패키지를 추가하면 아래와 같이 패키지 매니저에 패키지가 추가된 것을 확인할 수 있다.
UPM을 써보고 싶었는데, 참고하면 좋겠네요.
자료 감사합니다!