文章目录

  • 前言
  • 一、自定义插件流程
  • 二、嵌入式程序包
    • 1.简介
    • 2.如何在unity中嵌入程序包
  • 总结

前言

本文介绍Unity如何使用的Package Manager去构建自定义插件,主要介绍在开发中如何使用嵌入式程序包。

一、自定义插件流程

下图显示了自定义插件的基本流程:


更为具体的介绍可以参考:
【1】Unity:使用Package Manager开发和管理自定义插件
【2】开发Unity PackageManager 插件包
【3】官方文档

因为本文主要介绍的是嵌入式程序包相关问题,对于创建以及Package Manger的使用不多做介绍,读者可自行去找相关文章学习。

二、嵌入式程序包

1.简介

通常我们在实际开发中,项目工程本身就有仓库管理,所以一般来说只需要使用嵌入式插件的方式去处理我们的三方插件包或者自定义插件包。笔者根据实际开发总结的经验,这种方式会更加方便我们修改。

2.如何在unity中嵌入程序包

以创建的urp工程为例子,使用urp管道进行开发通常需要修改到官方自定义的管道的逻辑,比如我们需要添加抓屏效果,因为抓屏效果再urp管道中是无法生效的,需要自己实现,还比如实现可控制的角色外轮廓pass等,都会修改到urp管道代码。这时我们需要将urp管道的代码作为嵌入式程序包的形式处理,以下是步骤:

1)可以将Library/PackageCache文件下的com.unity.render-pipelines.universal(有@版本号被我删了)移动到Packages文件夹下,下图显示了操作流程:



(备注:Package文件下有其他两个文件夹,com.urp.nature-render是笔者自定义的插件包,也是采用内嵌入包的形式处理,方便修改)

2)然后我们可以再打开untiy引擎,然后我们打开cmd命令窗口(window),输入:
start “” “C:\Users\Administrator\AppData\Local\Unity\Editor”
mac也是同样的道理,只是打开该路径下unity的editorlog。下图显示了打开后的文件夹:


我们打开Editor.log文件,可以看到如下图所显示的:


说明嵌入式包已经加载成功了。注意这只是笔者介绍的一种验证嵌入式包的一种方式,同时也是为了介绍如果我们想查找unity引擎为何crash或者出现其他问题了,可以通过Editor.log文件去分析解决。

3)manifest,.json文件有和嵌入式的插件包一样的,如何选择? 下两图显示了manifest,.json文件有和嵌入式的插件包:


unity会选择内嵌形式的程序包为基准,因为内嵌形式的程序包优先级是最高的,如果没有嵌入包,会loading官方给的那个。

总结

熟练使用unity引擎的package manager去管理我们自定义插件可以对我们使用unity开发带来很多便利,我们可以在实际开发利用这个特性去开发对应三方插件包,也方便扩展和维护,后续项目可以持续使用这个插件包,比如我们开发行为树系统,可以单独使用本文介绍的方式去做。

Unity使用Package Manager管理自定义插件相关推荐

  1. Unity扩展-Package Manager都有哪些插件-说明(中)

    我没有过多的抱怨,漫天的乌鸦都是我的朋友,有这个,就足够了. 往期文章分享 点击跳转=>熬夜再战Android从青铜到王者-开发效率插件篇 点击跳转=>Unity粒子特效系列-龙卷风预制体 ...

  2. Unity报错之 No Sprite Editor Window registered. Please download 2D Sprite package from Package Manager.

    Unity报错之 No Sprite Editor Window registered. Please download 2D Sprite package from Package Manager. ...

  3. RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”...

    rpm 执行安装包 二进制包(Binary)以及源代码包(Source)两种.二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译.安装.源代码包经常以src.rpm作为后缀名. 常用命令组 ...

  4. Unity Package Manager Error的解决方案

    问题来源 启动Unity时显示 fail to start Unity Package Manager,软件环境为 Unity 2017.3.0f3. 解决方案 根据网上所给的方案,我选择添加环境变量 ...

  5. unity package manager ui 报错An ite m with the same key has alrea d ybeen added.Key

    unity 在manifest.json 添加了 "com.unity.package-manager-ui": "2.0.7", 在unity 界面windo ...

  6. linux_ rpm管理(Synaptic Package Manager)

    五.rpm管理(Synaptic Package Manager(新立得软件包管理器))(重点) 作用:rpm的作用类似于windows上的电脑管家中"软件管理",安全卫士里面&q ...

  7. unity无法激活认证、无法保存许可证、及unity package manager Error

    新装的win7,在unity官网上下载了最新的unity hub 及最新的unity2021.3.5fl(稳定版). 第一:认证激活失败问题 两个软件前期都能正常安装,但是在点开unity时,会弹出u ...

  8. 【Linux扩展】五、软件包管理 ——RPM(RedHat Package Manager,RedHat软件包管理工具)查询与卸载、YUM仓库配置

    软件包管理 5.1 RPM 5.1.1 RPM 概述 5.1.2 RPM 查询命令(rpm -qa) 5.1.3 RPM 卸载命令(rpm -e) 5.2 YUM 仓库配置 5.2.1 YUM 概述 ...

  9. Swift Package Manager 库制作

    Swift Package Manager 是苹果官方推出的库管理工具.类似 cocoapods. 准备事项: 一个需要封装的库 存放库的远程仓库,如 github.gitee.gitLab等 创建P ...

最新文章

  1. Bootstrap按钮组件
  2. 电费竟然占了数据中心运维总成本的7成?
  3. 计算机的网络操作题,计算机网络操作题
  4. BZOJ4557:[JLOI2016/SHOI2016]侦察守卫——题解
  5. 价值80元的emlog博客用户注册插件
  6. 初识多线程之基础知识与常用方法
  7. Android性能优化-App启动优化
  8. mac硬盘空间怎么清理?这样也能清理出上10G的磁盘空间
  9. (java+selenium)Web自动化12306模拟人工滑块验证
  10. 旅游日记——2000元北京6天5夜游
  11. c语言ctype函数,C语言函数--ctype.h库函数
  12. 【.Net实用方法总结】 整理并总结System.IO中Path类及其方法介绍
  13. iReport使用入门
  14. 服务器系统2008r2企业版补丁,windows2008R2服务器更新补丁
  15. 一文解析linux spinlock/rwlock/seqlock原理(基于ARM64)
  16. android 获取通讯录[BUG速记]
  17. 巴西龟饲养日志----黑壳虾繁殖
  18. Docker搭建MySQL的PXC集群
  19. 【51nod1326】遥远的旅途
  20. Initialization failed for Block pool registering (Datanode Uuid unassigned)

热门文章

  1. 麻将胡牌算法带癞子 python实现
  2. html中去除浮漂有什么作用,各种浮漂用途介绍及选择
  3. 2013年节假日安排公布 春节假期2月9日至15日
  4. WIN8发展趋势分析
  5. HAUT OJ 1231: ykc买零食
  6. iOS开发中解决Compiling IB documents for earlier than ios 7 is no longer supported的问题
  7. 扑克牌顺子(C++)
  8. 分布式 b2b b2c o2o电子商务 云平台
  9. python绘制一份完美的中国地图
  10. 三全食品安全阴云未散:京东自营店未公示生产许可证