


前些天Unity更新了最新2019LTS长期支持版本,这意味着还没有发布的项目都可以尝试升级到2019版本来进行项目的开发了。其中通过git版本库地址来进行自定义插件导入的功能吸引到了我的注意,因为最近开发了很多自定义的插件用于自己的项目,通过这个功能便可以不通过assetsstore直接从git地址直接安装自定义插件,并通过PackageManager进行统一管理。 计划自己的开源项目都会做成这种插件方便引用,并且强烈推荐大家尝试将自己写的工具类打包成插件来方便多个不同项目之间的调用。
首先确保我们的unity是2019及以上版本,并且安装了Git版本管理工具,通过Windows->PackageManager打开插件管理窗口

打开PackageManager窗口
点击左上角加号并选择Add package from git URL 并输入git仓库地址

选择 Add package from git URL

输入git地址点击Add
此处使用的示例Git仓库地址:https://e.coding.net/qinzhuo/DebugTool.git 是之前开源分享的 Unity打包后也可以在运行时显示Debug.Log的测试工具 有需要的可以通过上面的地址进行获取与测试
由于Github访问过慢以后的开源项目都会使用CODING进行项目管理

Unity打包运行时Debug测试工具
输入地址后稍等片刻便可以在我们的PackageManager看到我们导入的DebugTool插件 当然作者显示的是QinZhuo

导入成功的DebugTool插件

导入的插件显示在Packages文件夹下
我们可以注意到DebugTool名字下面有 Version 0.0.3 的版本号其实我们可以在git地址后加上#0.0.2来获取0.0.2版本的插件如下:
https://e.coding.net/qinzhuo/DebugTool.git#0.0.2
我们可以直接用浏览器访问对应的git地址
访问类似如下的界面 点击【标签 】或者【 Tag】
不同的Git开源网站如Github,码云等拥有不同的操作界面但大体上相同不用担心,此处是使用的CODING

点击标签
之后便可以通过不同标签名来获得不同的插件版本 如果不附带标签默认直接获取Git仓库的最新提交

插件版本号——标签名
当然还可以有其他拓展写法比如加上帐号密码的地址,毕竟如果是闭源的git库是需要访问权限的
具体写法参考这里的Unity官方GitURL说明:https://docs.unity3d.com/Manual/upm-git.html
自定义UnityPakcageManager插件需要开发者会使用Git版本管理工具 Git的使用方法在此不做过多介绍
找到要发布成插件的项目,此处使用我的新项目进行示例演示【SkillScirpt】一个自定义脚本语言的开源项目
此前进行过git库建立的项目需要清除git管理,即删除.git的隐藏文件夹即可
首先需要对文件夹进行重新布局 以下是我的项目文件目录

未更改前的项目目录
更改规则如下
Unity官方说明地址:https://docs.unity3d.com/Manual/cus-layout.html

项目目录要求
总体来说普通的C#脚本文件需要放在Runtime文件夹下(不存在则自行创建)
使用UnityEditor的C#脚本文件需要放在Editor文件夹下
此处我的所有文件都未使用UnityEditor命名空间 所以全部放在Runtime文件夹下即可

更改后的文件目录
更改目录后还需要在Runtime与Editor文件夹下右键创建AssemblyDefinition自定义程序集文件

右键创建AssemblyDefinition自定义程序集文件

创建后Runtime文件夹目录
最后需要在Assets目录下创建package.json文件 便满足插件的基础目录要求了
其中package.json文件要求说明地址如下:
https://docs.unity3d.com/Manual/upm-manifestPkg.html
在此只进行必要的信息编写

package.json文件内容
注意name中的内容只包小写字母 否则会出错
在Assets文件夹上创建版本库
注意此处版本库可以不在Assets文件夹上创建,但package.json 文件必须在版本库文价夹的根目录 才能正常读取插件

创建版本库
此处我使用的操作界面是TortioseGit,是图形化操作Git的工具,和使用命令行Git是一样的
创建好远端空的项目库后复制项目地址

复制远端空项目地址
本地使用git进行项目初始化

提交项目更改来进行初始化
勾选更改和添加的文件并提交更改

初始化项目
推送到远端

推送到远端
输入远端git仓库地址

输入远端git仓库地址
在一个新项目中尝试通过git地址导入插件成功界面如下:

技能脚本SkillScirpt插件安装成功
整体来说,这个功能个人非常喜欢,之后自己的开源项目都会这样进行插件化,同时想使用这些插件的朋友也可以从PackageManager直接导入插件。 如果喜欢这个文章可以点赞关注这个帐号近期会进行多个开源插件的分享,同时会制作视频进行细致讲解,包括制作这些功能些unity的进阶技巧,谢谢大家的支持。 好久没更新啦 今天开始要回归正常更新的节奏了