Nanite Tessellation in UE 5.3

it seems tessellation is coming back in 5.3:

Unreal Engine 5.3: Nanite Tessellation - YouTube

1 Like

Error: r.Nanite.AllowTessellation is read only! …any idea how to enable it in 5.3 final?

3 Likes

Put it in the [ConsoleVariables] section of your DefaultEngine.ini.

But it is absolutely not ready for production. There are comments all over the code saying ‘Do Not Turn This On,’ and when I tried to use it the static mesh I applied it to just straight up disappeared, and the Nanite landscape went totally weird. I don’t know if there are hardware compatibility issues or what.

3 Likes

That happens to me too! I enable Nanit on the mesh, I add this to the defaultengine.ini after [/Script/Engine.RendererSettings] in my project [r.Nanite.AllowTessellation=1] and [r.Nanite.Tessellation=1]

I add Console Command [r.Nanite.AllowTessellation 1] and [r.Nanite.Tessellation 1]

—> Mesh Disappeared <— …Any idea how to Fixit…

It’s really finicky right now. I actually swapped my GPU out because I couldn’t get it to work on my AMD card. Put my 2080 back in and it’s working now. Make sure you try building/rebuilding the landscape nanite mesh.

One big key thing to take note of is that in the material, you don’t do anything to the displacement mask->displacement input of the material. Any modifications other than a straight pin from one to the other and it messes everything up it seems. For instance, it breaks the center position really badly and you’ll be floating like 30 units off the ground.

The only way you can adjust the effect is in the material details panel(deselect all nodes)->displacement->Magnitude. It’s kind of annoying because if you’re making a master material, to then create instances off of for various different layers, you can’t individually adjust their displacement amounts without breaking the whole thing. I imagine the whole system will go through quite a few more iterations before it’s production ready.

EDIT: Oh and I’ve heard that some people can fix the vanishing mesh issue by adding some trivial amount to the displacement amount in the material. Like going from 0.25 to 0.25001, so it’s probably some caching issue that you have to force a rebuild on by adding the tiny amount.

2 Likes

I have the same issue: when setting the displacement amount to 0 in the material the mesh is still visible, any other value and the mesh disappears.

For reference I do also have an AMD card, RX 5700

Have tried it, but doesn’t work for landscape in packaged game. If someone managed to build a game with it - share your experience please)

Btw in editor it works as expected.

1 Like

I’m using UE 5.3 and Nanite Tessellation does not work on my system. As soon as i connect the Displacement input, i get shader compile errors.


When i look at the Shader in question, the code looks absolutely correct and should not be failing to compile. It complains about undeclared identifiers that are in fact declared and spelled correctly.

System specs for reference:

I have the same “SplitWorkQueue” errors. did you ever resolve this?

No sir.

You should do: Nanite → Rebuild Data

Has anyone else tried this in the new 5.4 preview yet? Just tried myself on a landscape, and the landscape disappeared. I have an AMD Radeon RX 6800 XT. Curious if it works now for anyone else who had the disappearing bug.

Ok, sorry. I really thought my graphics drivers were up to date, but they weren’t. Now the tessellation is working on the landscape. Good note I guess for anyone else.

I managed to get on a quite big terrain and world partition in 5.4, and switch on tessellation - it gives very nice displacement effect.
The only issue I with it right now is that I have displacement even in a distant hills and it “eats” almost 20fps. If there would be a way to make tessellation magnitude drop to zero over distance, it would probably sped up rendering of the landscape. Plz Epic, let us control the magnitude from nodes…

Set it up in the shader its self.
I set the “Magnitude” + “Center” too 0.5 and in the shader, set displacement value (multiply) = .85
And based on camera distance it goes to 0.0.
But agree there should be an LOD type system that removes Tessellation over distance.

There’s a work in progress feature for this in ue5-main that disables programmable raster at a distance, currently only works with masked but the commit notes disabling tessellation is planned

There is a Nanite - Tessellation in 5.4 and with nanite landscape already in 5.3, did you try to enable both nanite and tessellation on the landscape?