How to reduce VRAM usage during HLOD generation?

Hi! So I’m trying to generate HLODs for my world partitioned 4033x4033 terrain I made in Gaea, its a pretty basic terrain and I’m not trying to generate any addition HLOD layers, I’m just trying to generate the HLODs for my base terrain but my attempts at building them have all failed because my cards VRAM limit has been reached, I’ve got a 3080ti (12GB of VRAM) so I was a bit surprised to see that VRAM is the issue considering I’m not generating any additional layers, and it’s still a rather basic terrain with virtual textures and streaming setup.

After closing the build failed VRAM error message, my engine crashes with this error in the logs:
"Assertion failed: TextureDesc.Extent.X <= (int32)GetMax2DTextureDimension() [File:D:\build++UE5\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12Texture.cpp] [Line: 257]

I’m using the Brushify auto material which could be the issue, but I’ve set up a HLOD variant for my material with a lot of the features in the auto material disabled and I’ve reduced the textures from 2048x2048 to 1024x1024.

Would anyone have some tips on reducing VRAM usage? Any advice that’ll help with HLODs in general is also welcome! Thanks in advance, really appreciate it.

HLOD Settings:



Theres some forum posts with some source code you can try and use.

Obviously you have to build unreal from source to use the 2 year old fixes that Epic never even bothered looking at. (After findingn them, which is probably also a challange).

Without that, obviously, HLODs are still broken beyond usage.

Figured out my issue, it was actually the Gaea2Unreal plugin. When importing using the plugin, you lose control of how many components and what not your landscape has, so it was deciding that my landscape should have 4096 components resulting in 1024 proxies.

Basically just had to import my terrain using the plugin, take note of the scale it imports it with, delete the level, start a new non-world partitioned level and import the terrain using the standard UE way, configure the landscape component settings based on UEs landscape technical guide and then I just had to input the scale the Gaea2Unreal plugin gave me earlier.

If I tried to import the terrain using the standard UE way in a world partitioned level, it would import at 1/4 of the size, leaving the rest of the landscape flat, so didn’t have a choice but to use a standard level and convert it to a world partitioned one.

Afterwards the landscape imported correctly with 1024 components, resulting in 65 proxies and now HLODs are generating and working perfectly fine, not going anywhere near my VRAM limit.
Also learnt that my landscapes HLOD Layer should be set to instanced, not simplified mesh.

So if you’re running out of VRAM, double check how many components and proxies your landscape has.
Hopefully this helps someone that runs into the same issue :slight_smile:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.