【Unity3D框架】Unity Package Manager自定义包管理实践

本文介绍了如何使用Unity Package Manager(UPM)解决多项目框架管理难题。通过建立专用框架工程,采用UPM进行模块化管理,实现包的打包、托管和客户端引入。UPM的目录结构、编辑器窗口、权限管理等方面进行了详细阐述,并分享了在实践中的一些技巧,如dll和命名空间管理、资源路径处理等。

一、概述

        在公司开发的前两个项目,虽然搭建了基础的框架,有一些目录划分,但是当项目复杂度增长到一定程度,以及后续新开了一些新的项目之后,对于基础框架的管理就遇到了一些挑战,主要体现在以下几个方面:

        1、多项目之间拷贝了类似的基础框架,但是在开发过程中各项目之间各自对内容进行修改,难以共享修改的结果。比如,对于如第三方sdk升级、对框架的bug修复等,在不同项目之间各升级一遍,该踩的坑要再各踩一遍等,实际上效率很低。

        2、新项目无法直接引入纯净的基础框架,需要整个复制其他项目的框架,以此为基础删掉逻辑。

        3、权限管理难,框架级的代码并不希望所有的组员都去更改。

        4、版本管理难,只能依靠git去做零碎的历史记录管理。

        5、没有对框架模块进行正经的模块化管理,命名规范、接口设计等方面在多人协作过程中容易逐渐演变地随意起来,难以管理。

        实际上,从Unity2017开始,Unity3D引擎本身就开始转向使用Unity Package Manager(UPM)管理Unity自身的功能模块,到后续Unity 2019乃至之后的版本,Unity Package Manager已经发展成为一个完善的包管理系统,Unity内置的功能,以及Asset Store的资源都可以通过Package Manager进行管理。

        为了解决上述遇到的这些问题,可以用UPM的方式管理我们的自定义包。使用思路如下:

        1、建立一个专用框架开发工程,使用git管理,只对希望有开发框架的权限的人员开放权限。

        2、在框架工程对各个基础模块解耦并独立出来,设计好多个Package包,导出.tgz包。

        3、搭建npm服务器,托管导出的.tgz包。

        4、在各客户端项目里配好服务器地址,各取所需引入对应的包。

二、UPM

        Unity Package Manager(UPM) 是Unity官方维护的一个包管理器。

        官方对应的说明如下:Unity - Manual: Unity's Package Manager (unity3d.com)icon-default.png?t=N7T8https://docs.unity3d.com/2021.3/Documentation/Manual/Packages.html        Unity - Manual: Scoped registries (unity3d.com)icon-default.png?t=N7T8https://docs.unity3d.com/2021.3/Documentation/Ma

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

留待舞人归

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值