I am encountering the issue as well, on landscape with PN_Triangles tessellation. The maps in question work find in a cooked build once and the, if I try to load them again, it asserts. Restarting the PC “fixes” it.
What seems to happen is that the landscape material is correctly loaded via the FLandscapeComponentSceneProxy constructor in LandscapeRender.cpp. In that constructor it verifies whether the quality level, hardware and material support tessellation and if so, which type. It does so, by passing the material as material interface to RequiresAdjacencyInformation() in TessellationRendering.cpp.
However, the second time around, the material in the interface is empty, verifying that the fallback WorldGridMaterial does not have tessellation and then the actual material wants to kick off tessellation in another part of the pipeline to run into missing adjecency information.
For the fun part: I temporarily worked around the issue by adding a bool param to the RequiresAdjacencyInformation to check if the call came from LandscapeRender and if so, only return if the hardware and quality level support tessellation. As replacement, the check if the material itself has tessellation is left to the LandscapeRender class itself. This may or may not be super thread safe, but for now it works.
@DavidTatti Thanks for the tip, that fixed my problem.
My landscape didn’t have 1 total Component, but I was removing some tiles from my landscape,
after this the crashed occured.
Just go to Landscape->Resize->press Apply did the trick for me
(without the need to change the quad size)
Thank you @DavidTatti , had to exact same issue and unknowingly my landscape had turned into only 1 component. After just applying the resize settings it now builds and cooks correctly.
Unfortunately the problem is back and now also your workaround doesn’t work anymore.
The problem still persists in 4.26.1 and UE-94535 was closed as “won’t fix”…
So for now I need to disable tesselation in all my maps…
Never had this problem in the past, but after packaging my game this time around I always get this error message. I have completely removed tesselation and world displacement, I also resampeled the Landscape on all levels, but I still can’t seem to get rid of the error and actually start the game. Any new ideas anyone?
For me it wasn’t enough to disable displacement (with parameter).
I needed to change the Material node parameter D3D11Tesselation Mode to “no tesselation”.
Yes forgot to add that later we also had to disable Tesselation Mode described by Allonan.
It’s not enough to disable Tesselation, the Master Material must be a type without Tesselation support at all.
We just upgraded to 4.26.1 and so far these fixes still work good.
So to sum up for the fixes we made and got rid of the problem:
Make sure your Landscapes doesn’t have 1 Component after the update, if so, just make a Apply changes to the Landscape and it will be recalculated. Yes if you have many Levels this will take some time manually.
No Master Material used on Landscapes can have Tesselation type. You must change the Material Type described by Allonan. It’s not enough to simply ignore the Tesselation output in the Material. It’s still in effect.