下面是自定义包的建议包布局:
<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 列表网站复制文本。 |
Third Party Notices.md |
Contains information that’s required to meet legal requirements. |
Editor/ |
特定于 Editor 平台的 Assets 文件夹。与 Assets 下的 Editor 文件夹不同,这只是一个约定,不会影响资源导入管线。请参阅程序集定义和包以在此文件夹中正确配置特定于 Editor 的程序集。 |
Runtime/ |
特定于运行时平台的 Assets 文件夹。这只是一个约定,不会影响资源导入管线。请参阅程序集定义和包以在此文件夹中正确配置运行时程序集。 |
Tests/ |
用来存储包中所有包含的测试的文件夹。 |
Tests/Editor/ |
特定于 Editor 平台的测试文件夹。请参阅程序集定义和包以在此文件夹中正确配置特定于 Editor 的测试程序集。 |
Tests/Runtime/ |
特定于运行时平台的测试。请参阅程序集定义和包以在此文件夹中正确配置运行时测试程序集。 |
Samples~/ |
用来存储包中所有包含的示例的文件夹。 |
Documentation~ |
用来存储包中所有包含的文档的文件夹。 |
Unity ignores the contents of any folder name that ends with the ~
character, and does not 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, see Asset workflow.
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.