Why handpainting terrain does not support slopes?

Dont listen to that guy. He’s more than clueless.

The reason no one really supports it is that its a completely useless overhead cost when you do it at runtime.

All you have to do is access any GIS program and print out a slope map to use as the layer paint.
Then you get 0 runtime processing cost and the same exact result.

Cryengine is simply better made than unreal (and most other engines). They limit your paint tool and get you to produce an artist driven final material.

Unreal landscape on the other hand is like a thing made by sh*t flinging monkeys after feeding them a banana… no really.
Its stuck at least 15 years in the past, and has a ton of core flaws. I cluding the way you paint landacape layers.
More layers = less performance.

Instead of fixing anything, they tried to claim tha Nanite would be their saviour.
On paper it does do enerything that you would expect, from stripping useless vertex to unifying the textures. In practice, its made by slightly different monkeys and as far as I have seen it does not work.

So, in short, if you want to woek in unreal and make videogames, dont use the landscape. Start setting up things to make meshes yourself.
Texture and prepare them in their entierty in a 3d editor, and then import them into the engone for usage.
The only thing you miss out on is the landscape grass, which really isnt that big of a loss.

I suggest cutting up the landscape in blocks of 250m^2. Then HLODing them togeter in aggregates of up to 1km^2, and doubled up to 4km^2.

In practice however the HLOD system is also a dud made by monkeys. So you kind of are better off breaking out a c++ class and creating your own merge manager that handles this too.

Generally, simply setting the mesh to not render will avoid the drawcall and get you where you need to be load wise. So the manager doesn’t need to be overly elaborate necessarily.
You can duplicate meshes, actor merge them, set them as hidden, and then have the manager just toggle on/off to reduce loads.

When making meshes, the Engine Equivalente is 1 vert per meter.
Thats usually a huge waste of tris when you optimize your mesh, so if you want better performance you can start out with that same density, and reduce it drastically by using analytical functions.

That should more or less sort out all you need to get a project that’s somewhat performant enough to release before 2026…