Description

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[0] : nullptr; while (FirstActor != nullptr && FirstActor->IsA<ALODActor>())

{

const ALODActor* SubLODActor = Cast<ALODActor>(FirstActor); if (SubLODActor)

{

SubLODActor->[Link Removed](0) ? SubLODActor->SubActors[0] : nullptr;

}

else

{

// Unable to find a valid actor FirstActor = nullptr;

}

}

return FirstActor;

};
Working as expected in 4.19 CL# 4033788

Found in 4.20 CL# 4233996 and 4.21 CL# 4258917

This is a regression.

Steps to Reproduce
  1. Open the editor
  2. Enable the HLOD system
  3. Place a few meshes into the level
  4. Select them and create 4 HLOD levels with a Radius starting at 250 and doubling size each level
  5. Click Build on the HLOD window

Results:
The editor will hang around 70-75% but will never complete

Expected:
The HLOD levels would generate

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-62699 in the post.

2
Login to Vote

Fixed
Fix Commit4282918
Release Commit4497729
CreatedAug 8, 2018
ResolvedAug 14, 2018
UpdatedOct 23, 2018
Pull Requests
4957 - TheCodez