热更新的原理
Unity游戏热更新包含两个方面,一个是资源的更新,一个是脚本的更新。
Unity提供可以热更的方案就是AssetsBundle(后面简称AB)。资源、代码都可以打成AB包,放到服务器上,然后比对版本,进行热更。
Unity3D的热更新会涉及3个目录:游戏资源目录、数据目录、网络资源地址。
游戏资源目录:游戏的安装目录
数据目录:由于“游戏资源目录”在Android和IOS上是只读的,不能把网上的下载的资源放到里面,所以需要建立一个“数据目录”,该目录可读可写。
网络资源地址:又名服务器地址,是用来存放游戏资源的网址。
大体热更步骤如下图:
- 步骤①第一次开启游戏后,程序将“游戏资源目录”的内容复制到“数据目录”中。(这个步骤只会执行一次,下次再打开游戏就不复制了)。
- 步骤②游戏开启后,程序会从“网络资源地址”下载一些更新的文件到数据目录。
- 步骤③游戏过程中的资源加载,都是从“数据目录”中获取、解包。

这些目录包含着不同版本的资源文件,以及用于版本控制的Files.txt。Files.txt的内容如下图所示,里面存放着资源文件的名称和md5码。
接下来便要尝试代码热更新,让程序下载服务器上的lua文件,然后运行它。在说明热更新之前,需要先看看Unity3D热更新的一般方法。
程序会先下载服务器上的files.txt,然后与本地文件的md5码做比较,更新有变化的文件(步骤2)。
引用地址:【Unity游戏客户端框架搭建】五、热更新 - 知乎 (zhihu.com)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)