在看引擎原生的几个热更新相关的功能模块,目前了解到:
- 引擎文档里主要写的是Chunk Downloader:https://dev.epicgames.com/documentation/en-us/unreal-engine/patching-content-delivery-and-dlc-in-unreal-engine
- 但是在以前的回答中提到Chunk [Content removed]
- 看堡垒之夜应该是用的InstallBundleManager,以及配套的比如OnlineHotfixManager,但是
- [Content removed]
因此对目前引擎内热更新模块的状态有一些疑问:
- 在当前版本下(5.6),是否推荐我们来使用引擎原生的InstallBundleManager、OnlineHotfixManager以及UpdateManager做热更新呢。(考虑到ChunkDownloader不维护,似乎也没有其他合适的原生模块做这个事情?)
- UpdateManager中的PatchCheck和HotfixCheck,是否可以理解为一个是分发平台相关的差分更新,一个是游戏内下载文件进行热更新?
- 如果我们要使用这一套系统的话,流程感觉上是:
- 启动时,通过UpdateManager走一遍StartUpdateCheck流程。先检查Patch再检查Hotfix。
- 实现我们自己的IInstallBundleManager,来实现PatchCheck流程(实际上看FDefaultInstallBundleManager中的实现也是调FPatchCheck,最终还是调到IOnlineSubsystem这边)
- 通过实现IOnlineTitleFile,来实现Hotfix流程(检测当前有什么文件,然后下载、Hotfix)
- InstallBundleManager还可以实现在游戏内任意时机更新资源(通过RequestUpdateContent,获取特定的Bundle)
- 以上的理解是否正确呢?