Unity2018新功能抢鲜 | Package Manager

本文首发于洪流学堂微信公众号。
洪流学堂,让你快人几步!你好,我是你的技术探路者郑洪智,你可以叫我大智(vx: zhz11235)。

一个包是一个容器,它可以包含各种资源的组合:shader、纹理、插件、图标、脚本等,可以增强项目的各个部分。相对于Asset Store的包,Package Manager提供了更新,更容易集成的包管理方案,能够为Unity提供各种增强功能。

使用Unity Package Manager窗口(在Unity的顶部菜单中:Window > Package Manager)查看哪些包可用于安装或已安装在你的项目中。另外,你可以使用此窗口为每个项目安装,[删除](https://docs.unity3d.com/Packages/com.unity.package-manager-ui@[图片上传中...(宣传海报.png-a5152a-1524275636416-0)]
1.8/manual/index.html#PackManRemove)或更新包。

包管理器窗口

包管理器窗口显示左侧的列表视图和右侧的详细视图

查找包

默认情况下,包管理器窗口显示In Project下的包列表,只有安装在项目中的包才会显示在列表中。

单击All按钮显示所有可用包。该列表显示注册在包注册表中的所有内容,不管它们是否已经安装在项目中。

在项目和所有模式下

查看包详细信息

“包管理器”窗口右侧的窗格显示有关所选包的详细信息。

详细信息

这些详细信息包括以下信息:

  • (A)显示名称
  • (B)版本号(和标签,如果有的话)
  • (C)打开包文档页面的链接
  • (D)官方包名称会以 com.unity开头
  • (E)作者
  • (F)安装或更新状态
  • (G)简要说明
  • (H)按钮来安装,删除或更新包
  • (I)包更新日志的链接

版本标签

一些包在版本号旁边显示标签。这些标签传达有关该包版本的信息。

标记版本信息

包管理器使用以下值:

标签 含义
verified Unity的质量保证团队已正式确认此包可与编辑器的特定版本配合使用。
preview 该包处于发布周期的早期阶段,可能尚未被开发团队或Unity的质量保证团队记录和完全验证。

没有标签的包默认是生产环境可以使用的。

查找更多信息

你可以通过查看文档了解更多关于包的信息。

单击详细信息窗格中的查看文档链接:

查看文档链接

包文档页面将在你的默认浏览器中打开。

访问包管理器窗口

你可以通过包管理器窗口执行各种任务:

Window > Package Manager

安装一个新包

安装按钮

要安装一个新包:

  1. 打开项目管理器窗口并单击All按钮。
  2. 从“ 包”列表中选择要安装的。包信息出现在“详细信息”窗格中。
  3. 点击安装XXX按钮。当进度条结束时,新包已准备好使用。

删除已安装的包

删除按钮

删除已安装的包:

  1. 打开项目管理器窗口。
  2. 如果处于All模式,请单击In Project按钮。
  3. 从“ 包”列表中选择要删除的。包信息出现在“详细信息”窗格中。
  4. 点击删除XXX按钮。当进度条结束时,程序包将从列表中消失。

备注:

  • 你只能删除其他包不需要的包。
  • 当你删除一个包时,它的任何编辑器或运行时功能都不再可用。

更新已安装的包

更新按钮

你可以在In ProjectAll模式下更新包:

  1. 打开项目管理器窗口。有可用更新的包旁边会出现一个箭头指示符。
  2. Packages列表中选择要更新的。包信息出现在“详细信息”窗格中。
  3. 点击更新至XXX按钮。当进度条完成时,新的包版本信息将显示在“详细信息”窗格中,并且任何新功能都立即可用。

高级配置

本节提供有关包清单文件的一些高级信息。你无需了解这些内容即可安装,删除和更新包。

除了其内容(资源,着色器,纹理,插件,图标和脚本)外,Unity包还包含包清单文件。包清单告诉Unity如何在包管理器窗口中显示其信息页面,以及如何在项目中安装包。

包的文件夹结构

此外,它还包含几个文件,可帮助管理包部署,包括测试,示例,许可证,更新日志和文档。

Manifests

manifest文件有两种:项目清单(manifest.json)和包清单(package.json)。这两个文件都使用JSON(JavaScript Object Notation)语法与包管理器进行通信,通过描述每个项目可用的包以及每个包包含的内容。

项目manifests

项目清单(manifest.json)告诉包管理器哪些包和版本可用于项目。

项目清单支持以下值:

JSON类型 描述
dependencies Object 包管理器要加载的包列表。这些通常是在Unity中正式注册的包。

manifest.json文件示例:

{
    "dependencies": {
        "com.unity.package-1": "1.0.0",
        "com.unity.package-2": "2.0.0",
        "com.unity.package-3": "3.0.0"
    }
}

Unity将每个项目清单存储在[your_project_root_folder]/Packages/manifest.json文件中。

包清单

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

包清单支持以下值:

JSON类型 描述
name String 正式注册的包名称遵循以下命名惯例:"com.unity.[your package name]"。例如,"com.unity.resourcemanager"
displayName String Package Manager窗口中显示的包名称。例如,"Resource Manager"
version String 包版本"MAJOR.MINOR.PATCH"。Unity包遵循语义版本控制系统。例如,"1.3.0"
unity String 支持这个包的Unity版本。例如,"2018.1"表示从Unity版本2018.1开始的兼容性。
description String 包的简要说明。这是出现在“包管理器”窗口的“详细信息”窗格中的文本。支持一些特殊的格式化字符代码,例如换行符(\n)和项目符号(\u25AA)。
keywords Array of Strings 用于在Package Manager窗口中搜索的关键字,指定为JSON字符串数组。例如,["Physics", "RigidBody", "Component"]
category String 此包所属的类别。例如,"Forces"
dependencies Object 该包依赖的包列表,表示为JSON字典,其中键是包名,值是版本号。Unity会下载所有的依赖关系,并将它们与这个包一起加载到项目中。

package.json文件示例:

{
    "name": "com.unity.package-4",
    "displayName": "Package Number 4",
    "version": "2.5.1",
    "unity": "2018.1",
    "description": "This package provides X, Y, and Z. \n\nTo find out more, click the \"View Documentation\" link.",
    "keywords": ["key X", "key Y", "key Z"],
    "category": "Controllers",
    "dependencies": {
        "com.unity.package-1": "1.0.0",
        "com.unity.package-2": "2.0.0",
        "com.unity.package-3": "3.0.0"
    }
}

Unity将每个包清单存储在[your_package_root_folder]/package.json文件中。

包注册表

Unity维护着可供分发的官方包的中央注册表。Unity加载时,包管理器与注册表进行通信,检查项目清单文件,并在包管理器窗口中显示每个可用包的状态。

从项目中删除包时,包管理器会更新项目清单,以便在In Project模式下将该包从列表中排除,但仍以All模式提供,因为它仍在注册表中。

当你安装或更新程序包时,程序包管理器会从注册表中下载程序包。


Unity:世界领先的游戏,VR/AR引擎
《郑洪智的Unity2018课》,倾尽我8年的开发经验,结合最新的Unity2018,带你从入门到精通。
目前预售拼团,5.5折!

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

推荐阅读更多精彩内容