대부분이 동일하고 일부만 다른 게임들을 효과적으로 개발하기 위해, 공통으로 사용하는 어셋들을 효과적으로 공유하기 위해서 private한 UPM을 도입할 수 있습니다. 직접 upm에 업로드하는 방식도 있지만 verdaccio를 사용하면 좀 더 쉽게 배포, 관리할 수 있습니다.
문서 : https://verdaccio.org/
설치 :
npm install --location=global verdaccio@next
npm install --location=global yo
npm install --location=global generator-verdaccio-plugin
Config 설정 :
npm set registry 도메인(ip주소)
npm adduser --registry 도메인(ip주소) -- 유저 등록 (아이디, 비밀번호 설정)
패키지 배포 방법 :npm publish --registry 도메인(ip주소)
패키지 배포 취소 방법 : > npm unpublish --force 패키지 이름(com.xxx.xxx)
외부로에 접근을 허용하기 위해 로컬에 있는 config.yaml 파일을 열어 수정해야합니다.
배포할 패키지에 asmdef가 정의되어 있지 않으면 유니티에서 한번 정의해야합니다.
UPM으로 사용할 프로젝트의 manifest.json을 열어 패키지 루트에 대한 정보를 서술합니다.
(아래 이미지는 구글 예시)
사용할 패키지에 대한 명세를 manifest.json의 dependencies에 추가합니다.
정상적으로 import가 완료되면 Package Manager에서 확인할 수 있습니다.
결론
publish할때 마다 패키지 버전을 무조건 올려줘야 해서 패키지의 버저닝과 에셋의 버저닝이 달라질 수 있습니다.
asmdef가 없으면 직접 만들어야합니다.
upm의 도입으로 각각의 프로젝트에서 import하면 git 용량은 줄이고, 빌드 시간은 줄일 수 있는 장점이 있습니다.