Unity教程-使用Package Manager开发和管理自定义插件

PackageManager是Unity推出的一套新的插件模块管理器,能快速方便的添加或者完整的移除插件,能自动添加依赖插件。
本文讲解UPM(Unity PackageManager) 插件包的开发流程,学会UPM插件包的正确构建与调试流程、GitHub发布、插件更新与下载使用。

Unity的包管理方式

QQ图片20191222141403.png

一、Unity Packages (.unitypackage文件)

Unity 包(Packages)是分享和重新使用Unity项目和资源集合的便捷方式;例如:Unity 标准资源(Standard Assets)和Unity 资源商店(Asset Store)上的项目以包为单位提供。
Unity 包(Packages)是来自Unity项目或项目元素的文件和数据的集合,它们被压缩并存储在一个文件中,类似于Zip文件。像Zip文件一样,当包解压缩时,包将保持其原始目录结构,以及关于资源产的元数据(例如导入设置和到其他资源的链接)。

使用方法
1.导入包(Import Package) Assets-->Import Package-->Custom Package-->选择package包-->导入
2.导出包(Export Package)
3.导出更新包(Exporting Updated Packages)

二、Unity Package Manager

打开包管理器窗口的方法:在Unity的主菜单栏中依次点Window > Package Manager,在该窗口你可以安装、移除、更新一个package。

QQ图片20191126171420.png

注:Unity 2018.1及以后的版本可以使用Package Manager

Package简介

Package目录结构示例


QQ图片20191203131916.png

Project manifests
项目清单(manifest.json)告诉包管理器当前项目可以使哪些包的哪些版本。
项目清单文件存放在[project_root_folder]/Packages/manifest.json

Package manifests
包清单(package.json)是包的基本信息,用于包管理来确定要加载哪个版本的包,以及要在包管理器窗口中显示哪些信息。

package.json文件示例:

{
    "name": "com.companyname.packagename",
    "displayName": "Package Name",
    "version": "0.0.1-prerelease",
    "unity": "2018.3",
    "unityRelease": "0f1",
    "description": "",
    "keywords": [],
    "category": "tool",
    "author": "",
    "license": "MIT",
    "type": "",
    "hideInEditor": false
}

官方资料
Creating custom packages
AssemblyDefinition使用方法

Package Manager创建Git包

从Unity2019.3开始, Unity Package Manager已经支持Git Unity支持Git

发布UPM包

如果想要发布 UPM 包,我们必须通过如下git 命令把插件包所在的文件夹创建为 subtree

git subtree split --prefix=Assets/PackageName --branch upm

这个命令将 "Assets/PackageName" 目录放到“ upm” 分支。
通过这一步其他目录及文件不会出现在 upm 分支中。
接下来,为这个分支添加一个 tag 并推到远端。

git tag 1.0.0 upm       
git push origin upm --tags
版本更新
  • 在 "master" 分支开发和调试然后在 package.json 更新版本信息
  • 执行 "git subtree split"
  • 添加 tag 然后 push。

安装UPM包

UPM Install via manifest.json

打开项目根目录manifest.json文件, 合并以下代码就可以安装UPM包

{
  "dependencies": {
    "com.sourcemuch.quickeditor.monitor": "https://github.com/henry-yuxi/QuickEditor.Monitor.git#0.0.8",
  }
}

Unity 2019.3 Git URL

在2019.3及以上版本, package manager 支持Git Url安装UPM包。

打开Package Manager Window (menu: Window > Package Manager), 选择 "Add package from git URL...", 在文本框中输入以下链接: https://github.com/henry-yuxi/QuickEditor.Monitor.git#0.0.6.

请确保安装的是最新版本的UPM包

参考

[教程]开发Unity PackageManager 插件包
Unity:使用Package Manager开发和管理自定义插件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容