如何使用一键热更
Pangu在编辑器开启时,提供一键热更功能,该功能支持配置,用户可以根据自己的需求配置一键热更需要更新的内容。
找到项目的xxxSetupConfig.json文件,在CustomCmds
模块下新增一个AllUpdate
模块。
以下以Pangu提供的KaiTianSetupConfig.json中的AllUpdate
的模块中的命令为例,来解释如何通过配置来完成一键热更的功能。
具体的指令分为四个部分:
- 更新前的相关环境重置指令
- 指定需要热更的内容
- 重载更新后的内容
- 更新后的相关环境重置指令
"AllUpdate":{
"AdminCmds":[],
"UserCmds":[
"show_setup_tab", # 弹出一键安装的tab
"show_ui_installing_img", # 展示一键安装的进度条
"change_ui_state Installing", # 切换一键安装的ui状态为正在进行
"check_houdini_engine_running", # 检查houdini是否运行,如果正在运行会弹窗,可以选择是否强制关闭,提醒用户及时保存hda
"add_detach_content_path \"{CurProjectContentPath}/PcgContent\"", # 将需要热更的Content下面的文件加入需要处理的列表中
"detach_content_packages", # 解除ue对于Content目录下的添加过的所有的UAsset的引用,以防update的时候产生的资产冲突
"force_update_kaitian_files {PanguVersion} art_force_update", # 强制更新CodeUnifier里面的kaitian的ini配置文件中的[PartSymbol]中的art_force_update,具体需要更新的文件夹组合根据项目去CodeUnifier里面去配置就行
...省略部分类似的语句...
"change_ue_settings {HoudiniEngineUclassName} bUseCustomHoudiniLocation True",
...省略部分类似的语句...
"change_ue_settings {PanguProjectSettingsName} IsDever True",
"gen_packages_kaitian_json", # 生成kaitain.json
"reload_houdini_engine", # 重新加载houdini引擎,用于更新houini engine的相关配置
"reload_content_packages", # 重新加载content下的资源
"reload_pangu_json", # 对应盘古中的一键reload各种config、meta等
"finish_install", # 完成安装
"close_ui_installing_img" # 关闭一键安装的进度条
]
},
当点击OneForAllUpdate
按钮时,会执行run_custom_cmds_by_part
函数,运行AllUpdate
中设定的的语句,完成相关内容的更新与重载