洪流学堂,让你快人几步。你好,我是你的技术探路者大智。

很多时候,我们希望创建的新工程中包含一些初始的资源和合理的配置,但是每次都得手动去配置和导入资源。特别是开发一些VRAR项目的时候,每次都需要导入一些包,对工程做一些配置。那么有没有办法制作一个初始的模板工程,以便我们每次创建工程的时候复用呢?

先说一个最简单的办法:维护一个初始工程,将所需要的初始配置和资源弄好以后,压缩或者上传Github,每次创建新工程时就把这个库下载下来作为新工程的起点。

当然,这个方法解决了问题,但是流程好像是有些繁琐。

有没有办法直接跟Unity创建工程的流程结合,并且能满足咱们自定义初始化工程的需要呢?

大智探索了一下发现还是有的,可以创建新工程模板,先放结果图:

那具体是怎么做的呢?

1、Unity创建工程时的离线Project模板是以文件的形式存放在Unity安装目录的。

还有一部分Project模板是在线模板,联网时可以刷新出来并且下载使用,大智还没有研究是否可以从在线模板入手,有知道的童鞋可以评论私信交流~

路径如下(不同Unity版本可能略有不同,大致路径如下):

  • Mac:/Applications/Unity/Hub/Editor/<VERSION>/Unity.app/Contents/Resources/PackageManager/ProjectTemplates
  • Windows:C:\Program Files\Unity\Hub\Editor\<VERSION>\Editor\Data\Resources\PackageManager\ProjectTemplates

也可以点击Unity Hub中已经安装的Unity菜单,找到安装位置,如下图:

2、在这个文件夹下你能看到一些tgz格式的压缩文件:

3、在windows上可以下载7-zip来编辑这些压缩文件。mac可以直接用命令行解压缩,请自行搜索。

4、现在可以尝试基于一个已有模板tgz来创建咱们自己的模板。核心是要修改里面的package.json和ProjectData~文件夹中的内容。

5、大智这基于com.unity.template.universal-7.5.2.tgz,修改里面的package.json文件如下:

{
  "name": "com.unity.template.universal.hongliu",
  "displayName": "空白URP",
  ......其他不变
}

具体修改内容对比如下图:

如果要用中文的展示名称的话,记得把package.json的编码改成UTF8的,否则会显示乱码。

6、ProjectData目录中的文件,实际上就是一个Unity项目的所有文件,你先创建一个工程把所有东西都配置好,然后只把Asset、ProjectSettings、Packages目录放到ProjectData目录里就行了。比如现在我想设置一个URP模板,但是不要里面的示例资源,就可以把ProjectData~\Assets\目录下除了Settings文件夹全部删掉。因为Settings中有URP Asset配置,需要保留。

删除的文件同时也把meta文件删掉,保留的文件注意别把meta文件删了,否则可能会丢失关联。

7、将所有文件重新压回tgz文件。mac请自行搜索命令。Windows上使用7-zip操作如下。

  • 先把整个目录压缩为一个tar文件
  • 在tar文件上右键,压缩的时候压缩格式选择gzip
  • 压缩完扩展名是tar.gz,可以手动修改下改成tgz

8、修改下压好的tgz的文件名,否则会把原来的模板给覆盖掉,然后复制回\ProjectTemplates目录。

9、打开UnityHub,使用对应版本Unity创建工程时就能看到创建新项目模板了!

如果没显示出来需要重启下UnityHub。

最后还有一点需要注意的是:注意备份你的模板,因为卸载Unity版本的时候模板会被一起卸载掉。
安装了新版本Unity编辑器之后,也需要把原来的模板复制到新编辑器\ProjectTemplates目录中一份。


呼~ 没讲清楚的地方欢迎评论私信,咱们一起探索。

我是大智(🛰:zhz11235),你的技术探路者,咱们下次见!

别走!点赞收藏哦!

好,你可以走了。

Logo

分享前沿Unity技术干货和开发经验,精彩的Unity活动和社区相关信息

更多推荐