Version: 2022.2
언어: 한국어
패키지 명명
패키지에 테스트 추가

패키지 레이아웃

다음은 커스텀 패키지에 대한 권장 패키지 레이아웃입니다.

<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 파일을 트래킹에 사용하는 방법에 대한 자세한 내용은 에셋 워크플로를 참조하십시오.

패키지 명명
패키지에 테스트 추가