U3D热更新方案

"开发笔记"

Posted by A-SHIN on April 12, 2018

“Yeah It’s on. ”

前言

实现自动打包资源,使用MD5码校验一键化CDN更新资源筛选,游戏启动热更新解决方案。脚本使用xlua。在此简单介绍使用方法,最后给出方案源码工程链接。

正文

首先打开Window->Asset Bundle Builder界面,如下图 AssetBundleBuilder.cs编辑器扩展,显示Resources下文件夹。勾选需要打包的模块的文件夹,点击One Click按钮(或顺序点击Set NameBuild BundleCreate File ListCreate Version File)。会将打包后的ab资源和版本信息文件生成到StreamingAssets对应平台目录下(首次配置热更直接拷贝到CDN相应目录下)。
然后打开Window->HotUpdateFile Package Auto界面,如下图
AutoHotUpdatePackage.cs编辑器扩展,选择上一步StreamingAssets中生成资源的目录,顺序点击InitClear NativeCdn & Package DirectoryGet Cur FileList & Version From CdnExportChage按钮会将CDN上版本信息文件FileList.jsonVersion.json下载到_CdnVersion目录下。然后和本地版本信息文件对比后将需更新资源拷贝到_HotUpdatePackage目录下。最后将这些资源更新到CDN上。

CDN目录:
游戏打包时将Resources下进行热更的资源删掉。启动游戏时HotUpdateManager.cs负责热更。

后记

方案具体源码工程链接:https://github.com/huangx916/HotUpdateSolution
U3D绑定注入Lua数据编辑器扩展