这是推荐用于自定义包的包布局
<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 |
包清单package manifest每个包都有一个清单,它向包管理器提供有关包的信息。清单包含诸如包的名称、版本、用户描述、对其他包的依赖项(如果有)以及其他详细信息等信息。更多信息 参见 词汇表,它定义了包依赖项和其他元数据。 |
README.md |
开发者包文档。这通常是帮助希望更改包或在包的主分支上推送新更改的开发人员的文档。 |
CHANGELOG.md |
按时间倒序排列的包更改说明。最好使用标准格式,例如Keep a Changelog。 |
LICENSE.md |
包含包许可证文本。通常,包管理器会从选定的SPDX 列表网站复制文本。 |
第三方声明.md |
包含满足法律要求所需的信息。 |
Editor/ |
编辑器平台特定的 Assets 文件夹。与 Assets 下的 Editor 文件夹不同,这只是一个约定,不会影响 Asset 导入管道。请参阅程序集定义和包以正确配置此文件夹中的编辑器特定程序集。 |
Runtime/ |
运行时平台特定的 Assets 文件夹。这只是一个约定,不会影响 Asset 导入管道。请参阅程序集定义和包以正确配置此文件夹中的运行时程序集。 |
Tests/ |
存储包中包含的任何测试的文件夹。 |
Tests/Editor/ |
编辑器平台特定的测试文件夹。请参阅程序集定义和包以正确配置此文件夹中的编辑器特定测试程序集。 |
Tests/Runtime/ |
运行时平台特定的测试。请参阅程序集定义和包以正确配置此文件夹中的运行时测试程序集。 |
Samples~/ |
存储包中包含的任何示例的文件夹。 |
Documentation~ |
存储包中包含的任何文档的文件夹。 |
Unity 忽略任何以~
字符结尾的文件夹名称的内容,并且不使用.meta
文件跟踪它们。但是,您需要包含Editor
、Runtime
和Tests
文件夹及其内容的.meta
文件,才能使其正常工作。有关.meta
文件以及 Unity 如何使用它们进行跟踪的更多信息,请参阅Asset 工作流程。