项目中的做法,在项目中一般会把资源按照文件目录去划分资源,以文件路径的名字作为AB的名字,一般都是把资源的这些放到预处理中。
一般会分为几个类型,比如把单个文件夹下的每个资源进行打bundle,把单个文件夹下的所有资源打成bundle,还有自定义bundle名字的类型啥的,具体根据实际项目类确定。当bundle名字确定下来后就是Build bundle。
我这里是在打bundle的时候把对应的每个bundle对应的MD5值也给生成出来,MD5值有两个作用,第一个是确定文件被下载后是否下载完整(跟服务器进行比对),第二个就是跟本地的进行比对然后判断有哪些bundle是需要更新,哪些是新增需要下载的。
这些都是Editor需要做的,接下来是需要处理资源下载和更新的逻辑,一般用WWW或者UnityWebRequest都可以下载,注意文件名字和路径。只有跟服务器的版本号不一样才会进入下载和更新。