文章目录

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



前言

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

一、自定义插件流程

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

Unity插件资源 unity插件管理_嵌入式


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

二、嵌入式程序包

1.简介

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

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

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

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

Unity插件资源 unity插件管理_嵌入式_02


Unity插件资源 unity插件管理_嵌入式_03


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

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

Unity插件资源 unity插件管理_嵌入式_04


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

Unity插件资源 unity插件管理_unity_05


说明嵌入式包已经加载成功了。注意这只是笔者介绍的一种验证嵌入式包的一种方式,同时也是为了介绍如果我们想查找unity引擎为何crash或者出现其他问题了,可以通过Editor.log文件去分析解决。3)manifest,.json文件有和嵌入式的插件包一样的,如何选择? 下两图显示了manifest,.json文件有和嵌入式的插件包:

Unity插件资源 unity插件管理_Unity插件资源_06


Unity插件资源 unity插件管理_嵌入式_07


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

总结

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