BlaXuan 发表于 2023-3-10 13:57

Unity热更新入门最全教程(二)

接上文
这一篇主要分享讲程序相关的内容。
如何实现热更新

1、热更新原理是什么

热更新,是需要通过 网络下载资源或者代码 下载到本地包。利用动态加载技术,将新的代码或资源加载到应用程序中,以替换旧的代码或资源。这通常涉及到一个热更新引擎或框架,该引擎会在运行时检测到代码或资源的更改,并自动将其加载到应用程序中。
2、unity热更新流程是什么

(1)资源或者代码 打包,上传到服务器
(2)应用程序启动,与服务器版本对比,如果没有需要更新的内容。就直接启动,如果有新版本,启动下载器,下载最新的资源到本地
(3)使用最新版本资源和代码 ,进入游戏,玩家看到最新内容。
   注意:有的项目,热更结束后,可能需要玩家重启才能生效。
3、unity热更新分为几部分

我们需要更新的内容,一般 包含代码和资源两部分。
代码部分指的是应用程序的逻辑代码,包括 C# 脚本、插件等。开发者可以将需要更新的代码打包成 DLL 或插件,然后通过 Unity 程序动态加载和替换旧的代码,实现应用程序的热更新。
资源部分指的是应用程序使用的图像、音频、视频、场景等资源。开发者可以将需要更新的资源打包成 AssetBundle 文件,然后通过 Unity 程序动态加载和替换旧的资源,实现应用程序的热更新。
4、热更框架设计

一款好的游戏热更框架需要具备资源管理、版本管理、热更新支持、异步加载、安全性保证、跨平台支持、易用性和灵活性等多个方面的功能和特点。可以只看:号前。

[*]资源管理:热更框架需要能够管理游戏资源,包括资源的加载、卸载、缓存、释放等等。同时还需要支持多种资源格式和打包方式,例如 AssetBundle、Addressable Asset System 等等。
[*]版本管理:热更框架需要能够管理游戏版本,包括版本的更新、回滚、校验等等。同时还需要支持版本的兼容性和向下兼容性,以确保游戏的稳定性和可玩性。
[*]热更新支持:热更框架需要能够支持代码和资源的热更新,以及热更新的方式和机制。例如增量更新、全量更新、差量更新等等。
[*]异步加载:热更框架需要支持异步加载,以避免游戏的卡顿和阻塞。同时还需要支持加载进度的回调和显示,以方便玩家了解加载进度。
[*]安全性保证:热更框架需要能够保证游戏的安全性,包括资源完整性、代码可信性、数据加密等等。同时还需要能够防范游戏的恶意攻击和作弊行为。
[*]跨平台支持:热更框架需要支持多个平台,包括 PC、iOS、Android 等等。同时还需要能够根据不同平台的特点和限制进行优化和适配。
[*]易用性和灵活性:热更框架需要具备易用性和灵活性,以满足不同游戏项目的需求和规模。同时还需要提供良好的文档和支持,以便开发者使用和维护。
5、国内常用的热更新框架


[*]xasset:xasset 是一款开源的 Unity 资源管理工具,支持 AssetBundle 和 Addressable Asset System 两种打包方式,并且可以进行热更新。目前有付费版本。
[*]abhotfix:abhotfix 是一款基于 AssetBundle 的热更新框架,支持代码和资源的热更新,可以灵活地管理和加载资源。
[*]ILRuntime:ILRuntime 是一款支持 C# 热更的解释器,可以实现代码的热更新。它支持 Unity 引擎,可以实现 Unity 中的 C# 热更,广泛应用于游戏热更新领域。
[*]CatLib:CatLib 是一款开源的框架,支持 Unity 引擎,提供了诸如对象容器、服务容器、事件系统等常用功能,并且支持热更新。
[*]AssetBundleBrowser:AssetBundleBrowser 是 Unity 官方提供的一个工具,可以用于打包和管理 AssetBundle。它可以创建、打包、编辑和预览 AssetBundle,支持多个平台和版本的打包,并且可以进行热更新
[*]YooAsset 是一款基于 Unity 引擎的热更新框架,主要用于管理和加载资源。它支持 AssetBundle 打包方式,并且提供了一些常用的功能,例如版本管理、资源预加载、资源缓存等等。
7、MotionFramework 是一款面向 Unity 引擎的开源框架,主要用于游戏开发和项目管理。它提供了许多常用的功能和工具,包括资源管理、对象池、事件系统、热更新等等。
结束

unity 热更新框架,实际上不难,我们选择一个优秀的框架,推荐 yooasset、MotionFramework 。把他吃透 吃明白,然后根据自己的需求,进行修改。变成自己的。加油。

JoshWindsor 发表于 2023-3-10 14:03

嘉祥张三:Unity热更新入门最全教程(一)
页: [1]
查看完整版本: Unity热更新入门最全教程(二)