前言
最近在学习Addressable相关的内容,大概翻了翻文档,也查阅了一大堆资料,对其算是入门了。
这里记录一下遇到的坑和一些关键问题的解决方案
一、资源版本管理
addressable自身是没有版本管理这个概念的。
官方提供了一个CCD的解决方案,可以直接进行版本管理,这里给一个链接:Unity官方CCD介绍
那么我们如果要自己做一个版本管理,应该怎么做呢?这里不实际给代码了,只提供思路。
首先我们需要一个版本号,这个版本号有以下作用:
判断更新: 若玩家当前的资源版本低于服务器版本,则弹出资源更新提示,玩家点击后可进行更新
版本切换:可以自由切换到各种版本
基本思路
1、addressable基本围绕catalog来进行资源检测,所以我们要做的就是给catalog添加上版本号的绑定。
2、我们可以选择catalog的生成路径和data的生成路径。我们将资源生成到一个公共文件夹内,这样我们就有了一份能够增量的资源了。
3、接着我们将catalog放在上层目录,并称其为’母catalog’,因为如果是update更新的话,需要对应 ‘母catalog’ 文件,所以我们所有的版本都是由 ‘母catalog’ copy而来。
4、我们每次生成或更新catalog时,记作一个版本,然后新增一个对应版本的文件夹,并将我们打好的 ‘母catalog’