前几年做Unity开发一直使用Unity5.x,Unity2017.x版本,这些版本在导入资源很多时候都是直接copy文件夹,好一点的会导入.package文件。Unity2018版本推出PackageManager的时候感觉用的人还很少,不管是网络问题还是兼容问题,经常有import不了或者花式报错的,不过最近两年项目一直用2020还看了不少更高版本的项目,发现现在packagemanager已经很常用了,感觉已经要向类似gradle或者maven的方向发展了,packages文件夹的manifest.json文件就有点类似POM文件了。
一、安装package manager的资源
以YooAsset插件为例,导入资源一般有这三种方法:
1.通过PackageManager安装
打开管理界面 Edit/Project Settings/Package Manager
// 输入以下内容(中国版)
Name: package.openupm.cn
URL: https://package.openupm.cn
Scope(s): com.tuyoogame.yooasset
打开管理界面 Edit/Windows/Package Manager
2.通过Packages清单安装
直接修改Packages文件夹下的清单文件manifest.json
{
"dependencies": {
"com.tuyoogame.yooasset": "2.1.0",
......
},
"scopedRegistries": [
{
"name": "package.openupm.cn",
"url": "https://package.openupm.cn",
"scopes": [
"com.tuyoogame.yooasset"
]
}
]
}
3.通过Github下载安装
在发布的Release版本中,选择最新版本下载Source Code压缩包。
二、在package manager上添加自己的插件
目前知道PacakgeManager支持从npm和github上拉取插件
1.创建自定义的插件并上传Git
2.通过OpenUPM 上传公布自己的插件
(1)首先,你的电脑上需要安装好npm. 这里的需要npm比前文说的需要git 好在哪儿呢,它好在只需要你电脑上有就行了。
(2)确保有了npm之后呢,我们来安装OpenUPM的cli工具:
npm install -g openupm-cli
(3)然后就可以用了
OpenUPM是怎么使用的
根据官网的文档介绍,OpenUPM主要分为四个部分。
首先是一个repo,包含一个官网,并维护一份packages的列表。这个列表是谁都可以添加的。怎么添加呢,本质上是fork一份这个repo,然后在repo里加上自己packages的信息,然后pr给主repo.
接下来就是pipeline的工作了,repo收到pull requests之后,会触发pipeline,pipeline会在官网中添加你的packages信息,并且把你的repo中的代码给弄到OpenUPM自己维护的一个npm registry服务器上。
最后,用户通过openupm cli工具,就是我们之前命令行里用的那个,把你的package给弄到unity里面去。
①
②填写自己要发布的仓库的地址,点击"Go"
③填写完各种信息,点击最后的小按钮“Verify package”
④检查无误后点击“Upload package”
⑤然后就跳转Github
点击页面最下方的绿色按钮“Propose new file” (PS:首次使用会提示你fork这个仓库。)
然后创建pull request
此时会触发pipeline,等pipeline把一切都处理好之后, 我们就可以在主仓库里看到我们的package了。
而后续当你的仓库有更新时,OpenUPM维护的npm服务器里也会被pipeline自动更新的
3.UPM Package工具
Unity 已经开发出了 UPM Package 开发工具,只需要简单一步就能够创建 Package 大致框架,剩下的仅仅是代码的搬运了。目前,这个 UPM 开发工具还是预览阶段,有可能在 UPM 的 Unity Registry 中还看不到。
点击 + 号 👉 点击“Add Package from git” 👉 粘贴上 com.unity.upm.develop 👉 点击 “Add” 即可安装。
使用见下图,只需要点击图示菜单即可构建一个 package 环境
预设 Package 开发环境如下,可见留给用户的工作量不多了:代码+Readme 补全
同时 UPM 包开发工具提供了一套校验性质的功能点入口,如图示,依次是:单例测试、包有效性校验(检测包配置是否合理)、真机导入测试、包的发布。
参考文档:
快速开始 | YooAsset
【教程】开发Unity PackageManager 插件包 - 简书 (jianshu.com)
使用OpenUPM发布自己的Unity项目 - 有木酱的小屋 (yomunchan.moe)