Nanite Landscape disappears

In 5.6 in a non world partition scene, landscapes can have graphical issues: some parts are not rendered.

Steps to Reproduce
Create a new non-worldpartition world. Create a black 2668x2668 image and import it as heightmap for a brand new landscape. Convert landscape to nanite.

Hi there,

Thanks for the good repo steps.

I was able to reproduce this issue using your steps. Initially, I thought it was due to the non-recommended resolution, but I tested a few of the other recommended sizes and had the same issue.

Landscape recommended sizes: https://dev.epicgames.com/documentation/en\-us/unreal\-engine/landscape\-technical\-guide\-in\-unreal\-engine\#recommendedlandscapesizes

Looking at the nanite overdraw, it appears the landscape section is on top of itself.

[Image Removed]The pattern makes it look like an off-by-one error, almost, the way it’s layering.

From a cursory glance through the code base, I can’t see where this would occur.

I’ll create a bug report and post a public tracking link once it becomes available.

Kind Regards

Keegan Gibson

Here is the public tracking link:

If there is anything else I can help with, please let me know; otherwise, I’ll close out this case.

Hi! Thank you for reporting this issue. This is a regression bug in 5.6 that impacts both World Partition and Non-WP landscapes. The nanite build function is incorrectly grouping landscape components when there are more than 64 components on a single landscape proxy. Non-WP levels have a single landscape proxy so this issue is more common. This bug has been fixed for 5.7 and can be tracked here: Unreal Engine Issues and Bug Tracker (UE\-306721)

Jared

Thanks for the additional information. An editor check and warning have been added to address the nullptr crash. The GitHub integration can be found here: https://github.com/EpicGames/UnrealEngine/commit/0c684c4f9875b9a1dcbb833068850b67a05153ff

Hello, i searched for a solution to that exact problem since i have that issue too. But my map is in world partition, i have to disable nanite on the landscape to make the holes disappear, and we didn’t have this problem until we updated the engine to 5.6.

Egan L

Hi there,

I wasn’t able to reproduce this within a world partition empty level.

If you were able to provide a minimal repro project with your specific case, I can assist in debugging it.

Here is the repro in which i managed to reproduce the issue :

Create a new non partition level

Create a new landscape in the level with these settings [Image Removed]Enable nanite and build data, you’ll have this result (which is the issue for a non partitioned map)[Image Removed]Create a new empty open world map

Copy paste the landscape of the non partitioned map in the newly created partitioned map

Enable nanite on it and build data

You’ll have exactly the same result as in a non partitioned map

By creating a landscape directly in the partitioned map, you don’t have the issue, only difference i see is that there is proxies created for the landscape[Image Removed]But that’s my point here, the landscape we have issues on was in a non partitioned map and it got switched to world partition map after (before the 5.6 update), there was no issues on our landscape until the 5.6 update and the only difference i see is that our landscape doesn’t have any proxies like it was copy paste in a partitioned map from a non partitioned map

Hi. Thanks. Do you have a github/perforce CL I can look at? Thanks.

Here is the public Github commit into ue5-main: https://github.com/EpicGames/UnrealEngine/commit/42350344e3aef7ec5b0139263991186180e18128\. This change should be straightforward to cherry pick into a local 5.6 release branch. Thanks!

We integrated that CL. It fixes our issue. However it seems to be a crash on a server build (with WITH_EDITOR defined), due to NaniteComponent being nullptr in SetSourceComponentsForNaniteComponents inside the iteration. Skipping those nullprt fixed the issue.

Hi Marco! Sorry for the delayed response. There was a few issues with improper invalidation and null nanite component checks in the last change. The updated commit can be found here: https://github.com/EpicGames/UnrealEngine/commit/c2f796cb16783c89dcad1214d01d21df7a99564e. Let me know if you have any questions.

Cheers, Jared

We integrated that CL. Server still crashes. a nullptr check is needed