The HLOD system gets stuck in a infinite loop when building.
Comment from the user:
++I've tracked it down to this code:
const AActor* UHLODProxy::FindFirstActor(const ALODActor* LODActor)
auto RecursiveFindFirstActor = [&](const ALODActor* InLODActor)
const AActor* FirstActor = InLODActor->[Link Removed](0) ? InLODActor->SubActors : nullptr; while (FirstActor != nullptr && FirstActor->IsA<ALODActor>())
const ALODActor* SubLODActor = Cast<ALODActor>(FirstActor); if (SubLODActor)
SubLODActor->[Link Removed](0) ? SubLODActor->SubActors : nullptr;
// Unable to find a valid actor FirstActor = nullptr;
Working as expected in 4.19 CL# 4033788
Found in 4.20 CL# 4233996 and 4.21 CL# 4258917
This is a regression.
The editor will hang around 70-75% but will never complete
The HLOD levels would generate
There's no existing public thread on this issue, so head over toAnswerHub just mention UE-62699 in the post.