お世話になっております。
インクリメンタルクック実行時に、以下のようなエラーが多数発生します:
LogCook: Error: Content is missing from cook. Source package referenced an object in target package but the target package was marked NeverCook or is not cookable for the target platform.
Source package: /Game/ProjectName/Maps/MapName/WP_MapName/_Generated_/XXXXXXXXXXXXXXXXXXXXXXXX
Target package: /Game/ProjectName/Environment/Art/MapName/Destination/BP_Env_AssetName
以下の様な条件で発生しそうです
- -cookincremental -zenstore を使用したクックを2回連続で行う
- World Partitionの_Generated_パッケージが環境アセットを参照
- 参照される環境アセットが変更なしの状態
再現手順の所にも多少記載をしましたが、サンプルでの再現がうまく行かず、完全な再現手順が提供できずすみません。
以下の様なコードを挿入することで、回避できるようになったのですが、この方法で問題無さそうでしょうか、よろしくお願いいたします。
//UE5/Release-5.7/Engine/Source/Editor/UnrealEd/Private/Cooker/CookRequestCluster.cpp (L2330付近)
void FRequestCluster::FGraphSearch::FExploreEdgesContext::ProcessPlatformAttachments()
...
if ((GCookProgressDisplay & (int32)ECookProgressDisplayMode::Instigators) && !bReportedInstigator)
{
bReportedInstigator = true;
UE_LOG(LogCook, Display, TEXT("Incrementally Skipped %s, Instigator: { %s }"),
*WriteToString<256>(PackageData->GetPackageName()),
*PackageData->GetInstigator(EReachability::Runtime).ToString());
}
//START: L2330
if (CookResult == ECookResult::Succeeded)
{
FEDLCookCheckerThreadState::Get().AddPackageWithUnknownExports(PackageData->GetPackageName());
for (const UE::Cook::FImportExportNode& Import : QueryPlatformData.CookAttachments.ImportsCheckerData.Imports)
{
FEDLCookCheckerThreadState::Get().AddPackageWithUnknownExports(Import.ObjectName);
}
}
//END
// Replay the package's saved data into our collectors of packagedata
FEDLCookCheckerThreadState::Get().Add(QueryPlatformData.CookAttachments.ImportsCheckerData,
PackageData->GetPackageName());
TConstArrayView<FReplicatedLogData> LogMessages = QueryPlatformData.CookAttachments.LogMessages;
if (!LogMessages.IsEmpty() && !PackageData->HasReplayedLogMessages())
{
Cluster.COTFS.LogHandler->ReplayLogsFromIncrementallySkipped(LogMessages);
PackageData->SetHasReplayedLogMessages(true);
}
※ if (CookResult == ECookResult::Succeeded) 判定を追加しました
[Attachment Removed]