# UPM Package Starter Kit
The purpose of this package starter kit is to provide the data structure and development guidelines for new packages meant for the **Unity Package Manager (UPM)**.
This is the first of many steps towards an automated package publishing experience within Unity. This package starter kit is merely a fraction of the creation, edition, validation, and publishing tools that we will end up with.
We hope you enjoy your experience. You can use **#devs-packman** on Slack to provide feedback or ask questions regarding your package development efforts.
## Are you ready to become a package?
The Package Manager is a work-in-progress for Unity and, in that sense, there are a few criteria that must be met for your package to be considered on the package list at this time:
- **Your code accesses public Unity C# APIs only.** If you have a native code component, it will need to ship with an official editor release. Internal API access might eventually be possible for Unity made packages, but not at this time.
- **Your code doesn't require security, obfuscation, or conditional access control.** Anyone should be able to download your package and access the source code.
## Package structure
```none
<root>
├── package.json
├── README.md
├── CHANGELOG.md
├── LICENSE.md
├── Third Party Notices.md
├── QAReport.md
├── Editor
│ ├── Unity.[YourPackageName].Editor.asmdef
│ └── EditorExample.cs
├── Runtime
│ ├── Unity.[YourPackageName].asmdef
│ └── RuntimeExample.cs
├── Tests
│ ├── .tests.json
│ ├── Editor
│ │ ├── Unity.[YourPackageName].Editor.Tests.asmdef
│ │ └── EditorExampleTest.cs
│ └── Runtime
│ ├── Unity.[YourPackageName].Tests.asmdef
│ └── RuntimeExampleTest.cs
├── Samples
│ └── Example
│ ├── .sample.json
│ └── SampleExample.cs
└── Documentation~
├── your-package-name.md
└── Images
```
## Develop your package
Package development works best within the Unity Editor. Here's how to set that up:
1. Clone the Package Starter Kit repository locally.
- In a console (or terminal) application, choose a place to clone the repository and enter the following:
```
git clone git@github.cds.internal.unity3d.com:unity/com.unity.package-starter-kit.git
```
1. Create a new repository for your package and clone to your desktop.
- On Github.cds create a new repository with the name of your package (Example: `"com.unity.terrain-builder"`).
- In a console (or terminal) application, choose a place to clone the repository and perform the following:
```
git clone git@github.cds.internal.unity3d.com:unity/com.unity.[your-package-name]
```
1. Copy the contents of the Package Starter Kit folder to your new package. Be careful not to copy the Package Starter Kit *.git* folder over.
1. **Fill in your package information.**
Follow the instructions for [filling out your package manifest](#fill-out-your-package-manifest) (*package.json*).
Then update the `"createSeparatePackage"` field in the *Tests/.tests.json* file to set up testing for Continuous Integration (CI):
* Set it to false if you want the tests to remain part of the published package. This is the default value.
* Set it to true if you want the CI to create a separate package for these tests, and add the metadata at publish time to link the packages together. This allows you to have a large number of tests, or assets, etc. that you don't want to include in your main package, while making it easy to test your package with those tests & fixtures.
1. Start **Unity**, create a local empty project and import your package into the project.
1. In a console (or terminal) application, push the package starter kit files you copied in your new package repository to its remote.
- Add them to your repository's list to version
```git add .```
- Commit to your new package's remote master
```git commit```
- Push to your new package's remote master
```git push```
1. Restart **Unity**. This forces the Package Manager to rescan your project so that it can find the new package that you just embedded. For more information on embedded packages see [Confluence](https://confluence.hq.unity3d.com/display/PAK/How+to+embed+a+package+in+your+project).
1. **Update the *README.md* file.**
It should contain all pertinent information for developers using your package, such as:
* Prerequistes
* External tools or development libraries
* Required installed Software
* Command line examples to build, test, and run your package.
1. **Rename and update your documentation file(s).**
Use the samples included in this starter kit to create preliminary, high-level documentation. Your documentation should introduce users to the features and sample files included in your package. For more information, see [Document your package](#document-your-package).
1. **Rename and update assembly definition files.**
Choose a name schema to ensure that the name of the assembly built from the assembly definition file (_.asmdef_) will follow the .Net [Framework Design Guidelines](https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/index). For more information, see [Name your assembly definition files](#name-your-assembly-definition-files).
1. **Add samples to your package (code & assets).**
The Package Manager recognizes the *Samples* directory in a package but does not import samples into Unity when the package is added to a project by default. Users can import samples into their */Assets* directory by clicking the **Import in project** button from the [Details view](https://docs.unity3d.com/Manual/upm-ui-details.html) of your package in the Package Manager window.
If your package contains a sample:
* Rename the *Samples/Example* folder, and update the *.sample.json* file in it.
* If your package contains multiple samples, make a copy of the *Samples/Example* folder for each sample, and update each *.sample.json* file accordingly.
Delete the *Samples* folder altogether if your package does not need samples.
1. **Validate your package using the Validation Suite.**
Before you publish your package, you need to make sure that it passes all the necessary validation checks by using the [Package Validation Suite](https://github.cds.internal.unity3d.com/unity/com.unity.package-validation-suite) extension. This is *required*.
For more information, see [Validate your package](#validate-your-package).
1. **Follow our design guidelines**
Follow these design guidelines when creating your package:
* The [package design standards](https://confluence.hq.unity3d.com/display/UX/Packages) on Confluence.
* The [design checklist](https://unitytech.github.io/unityeditor-hig/topics/checklist.html) from Unity's Human Interface Guidelines.
* The namespace for code in the asmdef *must* match the asmdef name, except the initial `Unity`, which should be replaced with `UnityEngine` or `UnityEditor`.
* For **Runtime code**, only use the `Unity` namespace for code that has no dependency on anything in `UnityEngine` or `UnityEditor` and instead uses `ECS` and other `Unity`-namespace systems.
1. **Add tests to your package.**
For **Editor tests**:
* Write all your Editor Tests in *Tests/Editor*
* If your tests require access to internal methods, add an *AssemblyInfo.cs* file to your Editor code and use `[assembly: InternalsVisibleTo("Unity.[YourPackageName].Editor.Tests")]`.
For **Playmode Tests**:
* Write all your Playmode Tests in *Tests/Runtime*.
* If your tests require access to internal methods, add an *AssemblyInfo.cs* file to your Runtime code and use `[assembly: InternalsVisibleTo("Unity.[YourPackageName].Tests")]`.
1. **Setup your package CI.**
Make sure your package con
没有合适的资源?快使用搜索试试~ 我知道了~
unity 签名留言,手写签名
共2000个文件
meta:1921个
cs:1280个
png:466个
需积分: 5 32 下载量 169 浏览量
2023-01-04
15:58:50
上传
评论 3
收藏 50.7MB ZIP 举报
温馨提示
能够写字,做签名程序,有笔的粗细设置,颜色更换
资源推荐
资源详情
资源评论
收起资源包目录
unity 签名留言,手写签名 (2000个子文件)
00000000000000001000000000000000 4KB
00000000000000002000000000000000 4KB
00000000000000003000000000000000 4KB
00000000000000004000000000000000 4KB
00000000000000004100000000000000 4KB
00000000000000005000000000000000 4KB
00000000000000005100000000000000 4KB
00000000000000006000000000000000 4KB
00000000000000006100000000000000 4KB
00000000000000007000000000000000 4KB
00000000000000007100000000000000 4KB
00000000000000008000000000000000 4KB
00000000000000009000000000000000 4KB
0000000000000000a000000000000000 4KB
0000000000000000a100000000000000 4KB
0000000000000000b000000000000000 4KB
0000000000000000c000000000000000 4KB
003504918786912faf2d7dee3525759d 4KB
0099c078d375f49cb8796570cbbb02d0 3KB
00e90adf63d42c1d85c15c7dcc14d6ba 11KB
011772f9cbfa113f79968c2ec0f54238 5KB
01288caf7f44d0e13edbf2d07c2eee63 55KB
012c4e7ed80308b09d389444902dff1f 178B
013aa7396fac4b02ea19df1f3e2f4079 4KB
015b71cdad6af8c47fdad209f7050d53 6KB
01810cd7468e25b8dcb9d3bbb173349d 17KB
01bba2ca8fce909e3876ad095cecff04 5KB
01c085527a78c6c5a86db0cf634b3997 4KB
01f7baf58ec3e17b373d7b74079facf2 59KB
02027c5ffe9a55a6ad0f8ba675143be6 5KB
02160aa4aa6731b89c5dcdc047453572 4KB
024da25c10640afff101de019b861fef 15KB
026fe1cce62ed0434041fe875af1c373 5KB
02a29c4108b09cfb217a4b5ec90697aa 11KB
02b419d31f593622941bf31ddbaa14b4 5KB
02c157f4e23e8b3d5dd1d54855aa1ecf 12KB
02e4bac71bda5f01f51ec5fea6f9c80e 7KB
031a4b18a724e6d9ce2e9e63d7b0153e 6KB
033b3b0fffd8ee3bcbeaeb71ffc887fe 16KB
034f311d43bb4c7cf419440ad70436a8 4KB
0354039b121aba0030780d0671e741d0 9KB
0355b52c9b814338b8e614dde52db36a 6KB
0356d03880d53ba92b8f82d0ccdb3087 5KB
0391db6a851a020418a8b354d5b829da 7KB
0398bd8b51a30399ff8094b499e12698 15KB
03a94767ce990065af534f258c546d80 5KB
03c796ff671e204074e6c55c50bc710d 4KB
03c8793b7a46f786dbdb1e19dd095159 5KB
03ce39a9cec348d089d37934bb26d964 51KB
0424f86f5d3802c387c6292a7912d0e5 9KB
042a05548df9a6df6b3d9dddb30cacc1 4KB
04698e0aabbeba773f4ef2eeedddb7df 10KB
046ac876e1ce261dfaf646c43fc4fbed 5KB
04c6fbaa9430cb53a9b1db83234804bb 17KB
04d5907af012f93102fc650d1aabddfa 5KB
04d8d1af84ef27d51899d6337dd5e15e 18KB
04e696b1d9d6c0cf5bb7faa3b106bd5b 4KB
0513f6d487d6bc60e1239e00d0727dc3 4KB
05245d42158bf4e26de48c9d7a521920 16KB
052ad4d12ba9796486fa798372947a61 6KB
055e70c6f791a12e38bfbd078f426a32 148B
05941cc67659ccc96eab29670f4ff43f 12KB
05a0bb85f7d3519f4c02dbfa01ba7dde 6KB
05b24edf298794880067f2b71b4cca2b 6KB
05f8d39e516affde29ba74e8c3af610b 8KB
0621b4aab2236437592f1f292cb81d20 4KB
064a352307f0e0c239145a1329697b0d 4KB
065a4a98cbc702dd07498c201165e664 5KB
065d64c513c25e0ab808db83c474e97e 17KB
069dde33f7b7dc67d9e7d370c79a53c0 4KB
06a455de89ff606b35cdd36d08de26e6 4KB
06af67804e09a4608f2261bb9cdfac01 5KB
06b9e42b4b2db6bcef006c6012c2def3 5KB
06c215d9d87372d4382eef45b3ab5c3f 12KB
06f185bb369e286fdfb8b04b5f002f1a 6KB
0700130f3454d3e3b157b56df91e1f9e 38KB
072400fb4a98d0c51a4b6507f960739e 4KB
07421c671bd0463a2ff0773830422031 12KB
074a834644b0378bd94f9d3fa853182a 4KB
074d09d2baa416085a43dab465ec3412 5KB
0756a23c83e63810de38d741afbe9964 7KB
07853b1c24c60ff3c06c2a190bd81c26 5KB
07c94a70bc0e6f6fd2d994a2057f1b31 6KB
07e99c9bea408cb8e994b66ddb0d3262 932B
07eee7427ee5dcd029b87bc41714cf42 525B
08437f57415331a23bea571635204c6e 8KB
084b5568a11eb0177ef3a55054708215 11KB
0858ce6401a3942b2730049633482b78 7KB
086de0e2566b2fbe5af0c84a3d0ed79d 11KB
087f07e60ab811c7b77fad00c1fba29b 6KB
088952985210a69fcfa7c31cc69ab5c6 46KB
089d9c9aae643db85cd4028df0b90dff 2KB
08b051d223074678bdc8b37db4977093 4KB
08b575d89ec9353f2eae5f69651f3a64 17KB
08bdb9055c2e5427256db3f4a74c6d5e 5KB
08de40c597194bf9e38c78c0e47e94f2 6KB
09308b505cfcb8d28d9a0eaa280b571d 15KB
09582578857a43eb05a11f93436064f2 5KB
096707f548cc13523ed200a35354d38f 14KB
09671be827f9f6fbcc4cbb60b839c53a 17KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
rain_love_snow
- 粉丝: 480
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功