GitPackage
为了便于复用,需要把一些常用的功能做成Package,要管理这些Package的话单独建一个UPM的库有点没有必要,直接用Git来管理就好。
这里记录下使用Git发布、更新包的流程。
目录结构
与一般的Package没有什么不同,可以参照Unity官方的一些包来配置。
其实这里对于文件夹命名等没有什么明确的要求,一般来说分成以下几个部分。
Documentation~
文档的目录,一般存放一些md格式的说明。以~结尾的文件夹不会在编辑器中显示。
Samples~
存放示例的目录,一般来说这个目录下的每个文件夹就对应了Package Manager的Samples中的一个示例。
需要在Package.json文件中定义,这个下面再说。
Tests
顾名思义,存放测试的地方。
Runtime Editor
一般来说会有这两个文件夹,区分运行时代码与编辑器代码。
同时下面会有两个asmdef来定义两个程序集合。
package.json
包的定义文件。
参数就不一一解释了。
README.md CHANGELOG.md LICENSE.md
一些文本文件了,不影响实际使用。
Git
然后是Git相关的一些
可以通过打Tag的形式来管理版本。
git tag 1.0.0
git push -u origin main –tags
安装时就通过指定Tag,或者分支的形式选定版本
https://github.com/MaZhengKe/URPOutline.git#1.0.0
但是目前还没有找到让Package manager扫描全部Tag的方式。
subtree
那平时开发与维护还需要一个仓库,这两个仓库有依赖关系。
所以再新开一个空项目,初始化Git。
初次提交之后,可以通过如下命令来引入依赖的Git仓库
git subtree add –prefix=Assets/Outline https://github.com/MaZhengKe/URPOutline main
这样就在子路径下引入了依赖。
然后就按照正常的流程去修改,提交。
当需要推送到子仓库或者发布版本时:
git subtree push –prefix=Assets/Outline https://github.com/MaZhengKe/URPOutline main
打Tag仍需要回到原Git环境下去打。