Unreal Engine hot update manage and package plugin.
v82.0相较于上个版本,进行了大量优化和BUG修复。
不管在哪个引擎版本中使用HotPatcher,都强烈建议你更新到最新的版本,出现问题也便于排查。
更新内容如下
*.m.ubulk
文件未被打包进去的bug../../../PROJECT_NAME/ShaderLibs
目录下的所有ShaderLibraryOne File Per Actor
机制,修改WP场景并不会导致关卡资源本身的变动,我扩展了一种检测机制,可以实现WP的差异检测)FExternFiles
的访问//
的问题注意,需要修复UE5的一些BUG,才能使HotPatcher的所有功能在UE5里完全正常工作。修复方式见:适配UE5
NoSearchAllAssets
禁止资源扫描注:本版本暂不支持UE5.2,同时这也应该是支持UE5.1的最后一个版本。因为UE5.2引擎中有实现变化,后续更新的适配中只会支持UE5的最新版本。
更新日志:
NoPostLoadCacheDDC
参数控制(UE4中需要修改引擎才能使用该优化)Found mor than one redistered Cook Package Splitter
)PakSaveDirRegular
,自定义Pak的输出路径源码版引擎的NoPostLoadCacheDDC
参数支持需要修改引擎,添加以下[lipengzha]
中包裹的代码:
Launcher引擎默认不支持该优化,Cook耗时会慢一些,但对功能无影响。
// Engine/Source/Runtime/Engine/Private/Materials/MaterialInstance.cpp
void UMaterialInstance::PostLoad()
{
// ...
//++[lipengzha] cmdlet option for disable cook in PostLoad
bool bNoPostLoadCacheDDC = FParse::Param(FCommandLine::Get(), TEXT("NoPostLoadCacheDDC"));
if (!bNoPostLoadCacheDDC && TPM && (TPM->RestrictFormatsToRuntimeOnly() == false))
//--[lipengzha]
{
TArray<ITargetPlatform*> Platforms = TPM->GetActiveTargetPlatforms();
// Cache for all the shader formats that the cooking target requires
for (int32 FormatIndex = 0; FormatIndex < Platforms.Num(); FormatIndex++)
{
BeginCacheForCookedPlatformData(Platforms[FormatIndex]);
}
}
// ...
}
注意:因为UE5仍在早期阶段,Epic每次更新对引擎实现变动都挺大。所以,HotPatcher对UE5的支持只兼容最新引擎版本,暂不考虑UE5其他版本的兼容性(如UE5 EA/EA2/5.0.3等),请升级至UE5的最新版本或继续使用v77.0。UE4.x可更新插件的最新版本。
特殊说明:目前暂未适配对UE5 World Partition的支持,不要用于打包该类型地图。
bImprtProjectSettings
时,若只有一个平台,则把所有文件添加至该平台,若有多个平台,则添加至AllPlatforms
ProjectDefinitions
中添加DISABLE_PLUGIN_TOOLBAR_MENU
宏bCookPatchAssets
即可)