Skip to content

v76.0

Compare
Choose a tag to compare
@hxhb hxhb released this 31 Mar 10:13
· 307 commits to master since this release
50866f4

HotPatcher v76.0版本更新

  • 支持World Composition
  • 修复跨引擎版本的兼容性问题
  • 默认开启bCookPatcherAssets
  • 优化代码、修复4.27中的编译问题
  • 支持非侵入式给HotPatcher开发模块

HotPatcher/Mods下,可以基于HotPatcher二次开发新的打包和资源管理模式,充分利用HotPatcher的框架功能,能够拓展更多的功能:

  • 资源分析
  • 打包
  • 资源扫描、管理、审计
  • 多进程Cook
  • 不同形式的热更新方式

等等,根据业务的实际需求实现真正的定制化。

模块扩展示例

uplugin中添加HotPatcher的插件依赖:

"Plugins": [
    {
        "Name": "HotPatcher",
        "Enabled": true
    }
]

在build.cs中添加模块依赖:

PublicDependencyModuleNames.AddRange(new string[]{
    "HotPatcherRuntime",
    "HotPatcherCore",
    "HotPatcherEditor"
});

在模块的StartupModule中即可注册到HotPatcher中:

THotPatcherTemplateHelper::AppendEnumeraters<EHotPatcherCookActionMode>(TArray<FString>{TEXT("ByMultiProcess")});
FHotPatcherAction MultiCookerAction
(
  TEXT("Cooker"),
  LOCTEXT("ByMultiProcess", "ByMultiProcess"),
  LOCTEXT("MultiCookerActionHint", "Use multi-process Cook Content"),
  FSlateIcon(),
  nullptr,
  CREATE_ACTION_WIDGET_LAMBDA(SMultiCookerPage,TEXT("ByMultiProcess"))
);
FHotPatcherActionManager::Get().RegisteHotPatcherAction(TEXT("Cooker"),TEXT("ByMultiProcess"),MultiCookerAction);

效果:

基于HotPatcher的核心功能,可以根据需求定制化界面、拓展新功能。