[5.7] Determinism issue with UChildActorComponent

Hello :slight_smile:

I just investigated a determinism issue with child actor components, basically when the rerun construction script is called, the child actor is beeing recreated, but the ActorGUID is changing, i have something that fix the issue, but i prefer to double check about the possible unforseen side effects

[Image Removed]

I basically re-set the child actor Guid when we receive the saved component instance data after the rerun construction script, is it a safe way to do it ?

[Attachment Removed]

It’s not really the same deterministic issue, but there is another issue with this component, i observed child actor change names in my cooks, it seems to come from the recreate during the cook

[Image Removed]Probably the system don’t get the time to cleanup the previous actor, and so during the spawnActor, this StaticFindObjectFast is finding the previous actor, so a regeneration of the name is triggered

[Image Removed]using an IsValid on this check seems to fix the deterministic issue, but i’m not sure it is the best way to solve that case, do we have a way to make sure the actor is destroyed and could not be find by this method other than triggering the GC ?

[Image Removed]

[Attachment Removed]

Hello, apologies for the late reply. We’re catching up on EPS questions.

Child actor cook non-determinism has been reported by other studios before. UE-220376 is one such reported issue that we’re tracking currently. Unfortunately, that bug is still in the engine and I don’t think will be addressed in UE 5.8. I’m going to add your two mentioned issue (child actor GUID change and child actor recreate with different name) to that existing ticket, as an internal comment. That way, when the dev will investigate he’ll know to test for those cases too.

As for your local change of overriding the GUID: it’s hard to predict any downstream problems from doing this. We don’t have anything to share currently. I’ll just use your report as a data point to show that another studio needs CAC to cook deterministically.

[Attachment Removed]

Closing this discussion, since I added your bug report and determinism needs internally under UE-220376 - apologies for not having an actionable workaround or answer.

[Attachment Removed]

Thanks, was hoping for more insights about what i’m doing was risky or not, but i guess i will see it with time, yeah seeing the backlogged status i don’t expect this to come anytime soon

[Attachment Removed]

Indeed, keep an eye on UE-220376 but realistically, it’s good not to expect progress on it soon from our end.

[Attachment Removed]

Regarding this deterministic issue, though about renaming the child actor before destroying it in case of beeing in the cooking process, allowing the new child actor to get the same name

[Attachment Removed]