How do you create manual LOD for landscape in World Composition using your own meshes

Hi All,

This was asked last year and no avail. Now that the World Composition has been around for a while our problem still exists and in fact has now been validated by watching the Kite Demo Making Of.

We simply want to create the same system as used in the Kite Demo whereby we load in a Landscape Level that the camera is in and replace the unloaded levels with LOD Mesh Versions of the Landscape we have created in ZBrush, so that the entire Landscape appears to be visible. This was shown in the making of the Kite Demo and explained as just that. We have got this working using Level Blueprint which is fine, no problems there, however due to the floating precision problems with large worlds obviously we want to get this working with World Composition.

We have used World Composition extensively and have no problems using it. Except this. In the Epic Documentation it states the following:

LOD Settings

Each level in the world composition can have up to 4 LOD streaming levels. LOD streaming levels are similar to mesh LOD. Depending on streaming distance settings streaming level will be replaced with corresponding LOD level. LOD levels automatically discovered by World Composition using pattern _LOD#. Where number should be from 1 to 4. LOD levels can be created **manually **or with automatic LOD map generator which requires Simplygon.

This says LOD’s can be created manually or generated with Simplygon. However when you actually go in to the details tab for a level there is no where to load a manually made LOD only the functions for Simplygon generation. We have no plans to purchase a license for Simplygon as we have a set budget so we are going with options we already have this being ZBrush for one to generate these LOD meshes.

So the question is this: is there a trick to loading manually made LOD meshes into World Composition for the Landscape levels? OR
Is the Epic documentation wrong?

Richard and Shez

Create the LOD levels with the same name as the cell it is replacing with _LOD# (# = Lod level between 1 and 4). Then open the cell properties of the cell requiring LOD and set the Num LOD to however many LOD levels you have for that cell, then set the streaming distances appropriately. If you have setup this correctly, you should see the _LOD# levels from a distance.

I tried that once before, the question is what should the LOD be exactly? … a pre imported Uasset? or an fbx that gets recognized and imported automatically?.
In both cases where do you put the file in the folder structure to be picked up by the engine?.
Last time I tried that I made a folder and pre imported the LOD meshes, named the same as the world machine tiles, but it did not work.

the LOD themselves are just maps, with _LOD# in their name, as for the contents, just fill it with low poly static meshes or billboards or imposters or whatever you want, for the landscape I believe there is some tools in the World Composition area to simplify for LOD. ddvlost may be able to give a better answer on that. Then you just place your new map into the same directory as your World Composition cells.

That requires Simplygon, which is an astronomical cost.
We looked into it last year.
So what you are saying is the LOD’s themselves are actually separate levels and they should be added to the level list for streaming?.

ddvlost mentioned in another thread that landscape LOD doesn’t require simplygon, only static mesh LOD auto generation. Thats why I specifically mentioned it, as I dont know how to do it myself and thought ddvlost may be able to answer more thoroughlly.

As for the LOD levels, yes they are separate levels with _LOD# in their names, but they dont get added to the level list, you place them along side your other World Composition levels, and the editor will automatically detect them, so they wont appear in the level list, then when you configure the level properties for the base level (The level the LOD is for) you can configure the LOD count and the streaming distance of each one, then when you play the game, you’ll be able to see your LOD in the distance.

So here is some quick steps for manual LOD.

  1. Create your LOD level, in my case it replaces One so I called it One_LOD1

  1. As you can see it doesn’t appear in the level list, but rest assured it is there. So I load level One.

  1. Then I go to the level properties for that map, and increase the LOD count by one, and set a large streaming distance.

  1. Shot from ingame now showing my custom LOD. Big sphere in the background, if I run closer to it, it dissapears and the real map shows.

Thank you so much!!
That does it for me, now we can move on.
I am doing a workshop on streaming but based in UDK for the college we teach development at.
I wanted to mention how it has changed now in UE4.

Thanks again

No worries, also just to note, I should have read the rest of ddvlost’s comment.

Appears it is locked to simplygon for now in 4.7 (even tho its not required) and in 4.8 Landscape LOD generation will be free from that lock, but will still need simplygon for automatic static mesh LOD.

But if people are interested. I have unlocked landscape LOD generation in 4.7, I can provide the code necessary to do so. Again this is only for Landscape LOD generation.

That would be fantastic actually.
PM me at


That’s very close to what we do here except we export the quad mesh from WM as well as masks.

5 years late but…
I would be curious to see what you did for the Lod Generation. I have been looking for a solution to generate the LOD for landscapes without having to do this manually.