UE5 Windows热更新解决方案思路(HotPatcher+Tomcat+RuntimeFilesDownloader)

以下个人学习笔记。**其中必会存在一些问题,仅作参考。**本人版本5.1。


参考视频:

UE4热更新:HotPatcher插件使用教程_哔哩哔哩_bilibili

3.检查需要下载的版本_哔哩哔哩_bilibili

参考文章:

UE 热更新:Questions & Answers | 循迹研究室 (imzlp.com)

【Tomcat】史上最全下载、安装配置及使用教程,(2024更新..建议收藏,教学)附Tomcat常见报错解决方法-CSDN博客


项目演示:

1.打包好的项目

当前项目版本为V0.0.0-meta

无补丁pak

2.打开项目,检测更新和自动更新

更新了项目版本号(对照上文 1)

有补丁pak(对照上文 1)

3.重启项目

已是最新版本。图片位置发生移动。


前期准备:

1.装好tomcat。最好9或9以下。

2.虚幻能正常打包windows

3.虚幻装好RuntimeFilesDownloader插件

4.看"参考视频"!看"参考视频"!看"参考视频"!(PS:分4节的那个视频可快进看)


更新原理

打出热补丁包,放在pak文件夹下,操作正确情况下,程序会更新到新版本。

目前更新后要重启一遍,后续想办法能不能不重启


解决方案思路(不是具体实现方法)

基于观看参考视频后,再看思路!!!!!!!!!!

基于观看参考视频后,再看思路!!!!!!!!!!

基于观看参考视频后,再看思路!!!!!!!!!!

1.windows平台。打包。

保存一个字符串变量到本地文件,起名如:V0.0.0-meta。

2.生成一个发布版本的json

该json妥善保存。以后依赖该json完成更新。

3.更新内容

项目做一些更新,移动位置,改个变量...

4.生成补丁pak

填入发布版本json,依此生成补丁文件。

预览做了哪些更改(热补丁会更新哪些内容)。有时蓝图没保存编译,是导致预览生成失败。

生成后,把补丁pak粘贴到打包好的项目的pak文件夹下。(补丁文件pak和发布版本pak会有差异)

5.tomcat模拟

将补丁文件放到tomcat上,并写一个最新版本的文件说明。(最新版本文件说明在正式开发时很大概率时调用接口完成数据的获取)

编写程序,比对第一条提到的版本号(本地字符串):V0.0.0-meta。

符合要求(如字符串不同)将文件下载到paks文件夹下。重启即可完成更新。

文件下载。文件类型字段参考:

MIME 类型(MIME Type)完整对照表 - 免费在线工具 (wcode.net)

其他问题

1.运行exe 方法学习

文件夹开CMD,打出项目命名名称,(可以先打出首字母再Tab),然后LOG

2.window热更新失败个别情况。解决。

3.tomcat启动失败。版本问题。解决。

【Tomcat】史上最全下载、安装配置及使用教程,(2024更新..建议收藏,教学)附Tomcat常见报错解决方法-CSDN博客

尽量用9或9以下的版本。

相关推荐
AA陈超1 小时前
从0开始学习 **Lyra Starter Game** 项目
c++·笔记·学习·游戏·ue5·lyra
AA陈超5 天前
以 Lyra 的架构为基础,创建一个名为 “Aura“ 的英雄并实现发射火球技能
c++·笔记·学习·ue5·lyra
AA陈超5 天前
Lyra项目中的输入系统
c++·笔记·学习·游戏·ue5·lyra
AA陈超5 天前
ASC学习笔记0027:直接设置属性的基础值,而不会影响当前正在生效的任何修饰符(Modifiers)
c++·笔记·学习·ue5·虚幻引擎
开发游戏的老王6 天前
UE5.6 C++项目升级UE5.7时用Rider加载项目失败的解决办法
ue5·游戏引擎·虚幻·虚幻引擎·rider·ue5.7·target.cs
AA陈超6 天前
ASC学习笔记0020:用于定义角色或Actor的默认属性值
c++·笔记·学习·ue5·虚幻引擎
平行云6 天前
World Labs & Paraverse:统一3D世界的创造与访问
3d·unity·ai·ue5·aigc·实时云渲染·云xr
AA陈超6 天前
使用UnrealEngine引擎,实现鼠标点击移动
c++·笔记·学习·ue5·虚幻引擎
AA陈超6 天前
Lyra源码分析:LyraCharacterMovementComponent
c++·笔记·学习·ue5·虚幻引擎·lyra
电子云与长程纠缠7 天前
UE5打光技巧02(新手向)
ue5