Zen snapshot import missing files for Incremental Cooking

I have a Zen import snapshot process, and it generates the ue.projectstore and downloads the files to my local Zen server.

But that is not enough to utilize an incremental cook, apparently.

I believe a Saved\Cooked\Platform\Project\Metadata folder has CookedSettings.txt and a DevelopmentAssetRegistry.bin are both required for an incremental cook.

Is there a way to import this with the Zen snapshot built-in or am I going to have to set up something custom?

[Attachment Removed]

Hi Jerek,

CookedSettings.txt and DevelopmentAssetRegistry.bin should be in the imported snapshot. When you import, they won’t be manifested as files on disk, but they should exist in Zenserver. What should happen is that we have a “cook artifact reader” that includes reading from Zenserver, so when this code is called, it finds and loads CookedSettings.txt for example:

FConfigFile UCookOnTheFlyServer::LoadCookSettings(const ITargetPlatform* TargetPlatform, const FString& ArtifactName)
{
	UE::ConfigAccessTracking::FIgnoreScope IgnoreScope;
	FConfigFile Result;
	FString CookSettingsFileName = GetCookSettingsFileName(TargetPlatform, ArtifactName);
	TUniquePtr<FArchive> Reader;
	Reader.Reset(FindOrCreateCookArtifactReader(TargetPlatform).CreateFileReader(*CookSettingsFileName));
	if (Reader)
	{
		FString CookSettingsFileContents;
		if (FFileHelper::LoadFileToString(CookSettingsFileContents, *Reader.Get()))
		{
			Result.ProcessInputFileContents(CookSettingsFileContents, CookSettingsFileName);
		}
	}
	return Result;
}

I will note, you’re on 5.6, and we’ve done a number of fixes to the way we read cook artifacts from Zenserver. My advice is:

  1. First see if updating to the newest zenserver release for your project (it will be backwards compatible with your engine version) solves this issue (there were bugs we fixed where zenserver would lose some files it was supposed to have).
  2. Step through the code noted above and establish if it is finding the CookedSettings.txt file or not. If not, look for changes by liam.mitchell as he has fixed some flaws with the cooked artifact reader logic, and you might need to pull those fixes.
    [Attachment Removed]