Mutable CustomizableObject DDC Key Different On Every Launch

Hey folks,

I’m debugging an issue currently where the DDC key for a CustomizableObject seems to be different every time we launch the editor.

In our case I’ve tracked it down to the “Participating objects hash”. I commented this block from line 2944 to 2962 out in MuCO\CustomizableObject.cpp and the key we get from that is then deterministic. I naturally am hesitant to check that in because I’d like to avoid creating more problems, like in cook for example.

Is there any info from this list, specific to our project, that I can reasonably provide that might help make it obvious as to why this is poisoning the hash? I’m yet to try reproducing this in a sample project but I can give it a shot if needed.

Many thanks,

David

//// Participating objects hash
//if (ICustomizableObjectEditorModule* Module = ICustomizableObjectEditorModule::Get())
//{
//	TArray<TTuple<FName, FGuid>> ParticipatingObjects = Module->GetParticipatingObjects(GetPublic(), &Options).Array();
//	ParticipatingObjects.Sort([](const TTuple<FName, FGuid>& A, const TTuple<FName, FGuid>& B)
//	{
//		return A.Get<0>().LexicalLess(B.Get<0>()) && A.Get<1>() < B.Get<1>();
//	});
//	
//	for (const TTuple<FName, FGuid>& Tuple : ParticipatingObjects)
//	{
//		FString Key = Tuple.Get<0>().ToString();
//		Key.ToLowerInline();
//		Ar << Key;

//		FGuid Id = Tuple.Get<1>();
//		Ar << Id;
//	}
//}

[Attachment Removed]

Hey there,

I believe we’ve fixed this recently. Can you try this change instead?

https://github.com/EpicGames/UnrealEngine/commit/89c0685e6c907735adaa3ae80b8df0a4b3395901

Dustin

[Attachment Removed]

Hey Dustin, I’ll go try that right now and report back.

Many thanks,

David

EDIT: Confirmed this works! Thanks!

[Attachment Removed]