下面是自定义包的建议包布局:
<package-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 |
Developer package documentation. This is generally documentation to help developers who want to change the package or push a new change on the package’s main branch. |
CHANGELOG.md |
Description of package changes in reverse chronological order. It’s good practice to use a standard format, like Keep a Changelog. |
LICENSE.md |
包含包许可证文本。通常,Package Manager 将从所选的 SPDX 列表网站复制文本。 |
Third Party Notices.md |
Contains information that’s required to meet legal requirements. |
Editor/ |
Editor platform-specific Assets folder. Unlike Editor folders under Assets, this is only a convention and doesn’t affect the Asset import pipeline. Refer to Assembly definition and packages to properly configure Editor-specific assemblies in this folder. |
Runtime/ |
Runtime platform-specific Assets folder. This is only a convention and doesn’t affect the Asset import pipeline. Refer to Assembly definition and packages to properly configure runtime assemblies in this folder. |
Tests/ |
用来存储包中所有包含的测试的文件夹。 |
Tests/Editor/ |
Editor platform specific tests folder. Refer to Assembly definition and packages to properly configure Editor-specific test assemblies in this folder. |
Tests/Runtime/ |
Runtime platform specific tests. Refer to Assembly definition and packages to properly configure runtime test assemblies in this folder. |
Samples~/ |
用来存储包中所有包含的示例的文件夹。 |
Documentation~ |
用来存储包中所有包含的文档的文件夹。 |
Unity ignores the contents of any folder name that ends with the ~
character, and doesn’t track them with .meta
files. However, you need to include .meta
files for the Editor
, Runtime
, and Tests
folders and their contents in order for them to work properly. For more information on .meta
files and how Unity uses them for tracking, refer to Asset workflow.