다음은 커스텀 패키지에 대한 권장 패키지 레이아웃입니다.
<root>
├── package.json
├── README.md
├── CHANGELOG.md
├── LICENSE.md
├── Third Party Notices.md
├── Editor
│ ├── [company-name].[package-name].Editor.asmdef
│ └── EditorExample.cs
├── Runtime
│ ├── [company-name].[package-name].asmdef
│ └── RuntimeExample.cs
├── Tests
│ ├── Editor
│ │ ├── [company-name].[package-name].Editor.Tests.asmdef
│ │ └── EditorExampleTest.cs
│ └── Runtime
│ ├── [company-name].[package-name].Tests.asmdef
│ └── RuntimeExampleTest.cs
├── Samples~
│ ├── SampleFolder1
│ ├── SampleFolder2
│ └── ...
└── Documentation~
└── [package-name].md
많은 공식 Unity 패키지에서도 이 구조를 구현합니다.
위치 | 설명 |
---|---|
package.json |
패키지 종속성 및 기타 메타데이터를 정의하는 패키지 매니페스트입니다. |
README.md |
개발자 패키지 문서입니다. 이러한 문서는 일반적으로 개발자가 패키지를 수정하거나 패키지 마스터 소스 저장소에 새로운 변경 사항을 적용할 때 참조하면 도움이 됩니다. |
CHANGELOG.md |
패키지 변경 사항에 대한 설명입니다(최근 시간순). Keep a Changelog 같은 스탠다드 포맷을 사용하는 것이 좋습니다. |
LICENSE.md |
패키지 라이선스 텍스트가 들어 있습니다. 대개 패키지 관리자는 선택된 SPDX 리스트 웹사이트에서 텍스트를 복사합니다. |
Third Party Notices.md |
법적 요구 사항을 충족하는 데 필요한 정보가 포함되어 있습니다. |
Editor/ |
에디터 플랫폼별 Assets 폴더입니다. Assets 폴더 아래에 있는 Editor 폴더와 달리, 이 폴더는 규칙일 뿐이며 에셋 임포트 파이프라인에는 영향을 미치지 않습니다. 어셈블리 정의 및 패키지를 참조하여 이 폴더에 에디터별 어셈블리를 올바르게 설정하십시오. |
Runtime/ |
런타임 플랫폼별 Assets 폴더입니다. 이 폴더는 규칙일 뿐이며 에셋 임포트 파이프라인에는 영향을 미치지 않습니다. 어셈블리 정의 및 패키지를 참조하여 이 폴더에 런타임 어셈블리를 올바르게 설정하십시오. |
Tests/ |
패키지에 모든 포함된 테스트를 저장하는 폴더입니다. |
Tests/Editor/ |
에디터 플랫폼별 테스트 폴더입니다. 어셈블리 정의 및 패키지를 참조하여 이 폴더에 에디터별 테스트 어셈블리를 올바르게 설정하십시오. |
Tests/Runtime/ |
런타임 플랫폼별 테스트입니다. 어셈블리 정의 및 패키지를 참조하여 이 폴더에 런타임 테스트 어셈블리를 올바르게 설정하십시오. |
Samples~/ |
패키지에 모든 포함된 샘플을 저장하는 폴더입니다. |
Documentation~ |
패키지에 모든 포함된 문서를 저장하는 폴더입니다. |
Unity는 ~
문자로 끝나는 폴더 이름의 콘텐츠를 무시하며, .meta
파일로 추적하지 않습니다.하지만 Editor
, Runtime
, Tests
폴더와 해당 콘텐츠에 .meta
파일을 포함해야 제대로 작동합니다..meta
파일 및 Unity가 .meta
파일을 트래킹에 사용하는 방법에 대한 자세한 내용은 에셋 워크플로를 참조하십시오.