EveryDay.DevUp

[Unity] 프레임워크 개발 - Custom Package 생성 본문

FrameWork

[Unity] 프레임워크 개발 - Custom Package 생성

EveryDay.DevUp 2020. 6. 17. 07:00

기존에 사용하던 v.0.0.1 프레임워크 패키지에서 v.0.1.0으로 프레임워크 패키지로 업그레이드하면서, Unity의 Addressable 패키지를 사용하게 되었다.

Addressable 패키지를 사용함에 따라 v.0.1.0 프레임워크 패키지에 종속성이 생겼고 기존의 Export 패키지로는 종속성 문제를 해결할 수 없어 Custom Package로 변경하게되었다. ( 여기서의 종속성은 Addressable 패키지가 프로젝트 내에 없을 경우 프레임워크 패키지를 사용할 수 없게되는 부분을 말한다. )

※ Custom Package란 ?

https://everyday-devup.tistory.com/82?category=934757

 

[Unity] Unity Custom Package ( 유니티 커스텀 패키지 )

Unity 프로젝트에서 다른 프로젝트로 어셋의 내용을 옮길 때 기존에는 Export Package를 사용하였다. 어셋의 포함된 리소스 및 스크립트를 Unity Package로 묶어서 내보낼 수 있었고, 다른 프로젝트에서 I

everyday-devup.tistory.com

Custom Package 제작을 위한 사전 지식 ( Assembly definition files )

https://everyday-devup.tistory.com/79

 

[Unity] Assembly definition files ( 어셈블리 정의 파일 )

Unity는 기본적으로 Assembly-CSharp과 Assembly-CSharp-Editor 어셈블리를 가지고 있다. 기본적으로 Asset에 있는 스크립트 파일은 Assembly-CSharp에 묶이고, Editor 폴더 안에 있는 스크립트 파일은  Assembl..

everyday-devup.tistory.com

● 기존 v.0.0.1을 Custom Package로 변경하는 과정을 설명하고자 한다.

[ Asset에 패키지관련 코드가 존재 ]

▶ Packages 폴더에 Custom Package 폴더를 생성한다.

▶ 생성한 Custom Package에 package.json을 생성한다.

▶ package.json에 다음과 같이 입력한다.

{
  "name": "com.everyday.devup.gameframework.template",
  "displayName": "EveryDay Devup GameFramework",
  "version": "0.1.0"
}

▶ packages 폴더에 생성한 Cutom Package가 정상적으로 만들어졌는지 체크한다.

▶ Custom Package에 Editor 와 Runtime 폴더를 생성한다.

▶ Runtime 폴더에 Asset에서 Editor 폴더의 내용을 제외한 코드 및 리소스를 넣는다. Editor 폴더에는 Asset의 Editor 관련 코드와 리소르를 넣는다.

▶ Runtime 폴더에 Assembly Definition을 생성한다.

▶ Editor 폴더에도 동일한 방법으로 Assembly Definition을 생성한다. Editor 폴더에 생성한 Assembly Definition은 Runtime의 Assembly Definition을 참조할 수 있도록 설정한다.

▶ package.json을 선택하여, 필요한 패키지들의 종속성을 부여한다. 종속성을 부여할때는 패키지의 실제 이름과 사용할 버전을 입력하여야 한다.

▶ Custome Package를 압축하여 공유하거나, 각자의 방식으로 CustomPackage 폴더를 다른 사람의 PC에 공유하면 된다.