下面是自定义包的建议包布局:
<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 |
包含包许可证文本。通常,Package Manager 将从所选的 SPDX 列表网站复制文本。 |
Editor/ |
特定于 Editor 平台的 Assets 文件夹。与 Assets 下的 Editor 文件夹不同,这只是一个约定,不会影响资源导入管线。请参阅程序集定义和包以在此文件夹中正确配置特定于 Editor 的程序集。 |
Runtime/ |
特定于运行时平台的 Assets 文件夹。这只是一个约定,不会影响资源导入管线。请参阅程序集定义和包以在此文件夹中正确配置运行时程序集。 |
Tests/ |
用来存储包中所有包含的测试的文件夹。 |
Tests/Editor/ |
特定于 Editor 平台的测试文件夹。请参阅程序集定义和包以在此文件夹中正确配置特定于 Editor 的测试程序集。 |
Tests/Runtime/ |
特定于运行时平台的测试。请参阅程序集定义和包以在此文件夹中正确配置运行时测试程序集。 |
Samples~/ |
用来存储包中所有包含的示例的文件夹。 |
Documentation~ |
用来存储包中所有包含的文档的文件夹。 |
Unity 会忽略以 ~
字符结尾的所有文件夹名称的内容,并且不会使用 .meta
文件跟踪它们。但是,您需要为 Editor
、Runtime
和 Tests
文件夹及其内容包含 .meta
文件,以便它们正常运行。有关 .meta
文件以及 Unity 如何使用它们进行跟踪的更多信息,请参阅资源工作流程。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.