Beginner Core Concept

LOD (Level of Detail) — What It Is and How to Set It Up

Every game with open environments and dozens of simultaneous props uses LOD. Without it, the GPU renders every asset at full fidelity regardless of how far away it is — a massive waste of processing power that the player would never notice anyway. This guide explains how LOD works and how to implement it in your own assets.

⏱ ~8 min read · 6 sections · Beginner friendly

Section 01

What is Level of Detail?

Level of Detail (LOD) is a technique where a 3D asset is represented by multiple versions of decreasing polygon count. The game engine automatically switches between versions based on how much of the screen the asset occupies — showing the full-detail mesh up close and progressively simpler meshes as the asset moves further away from the camera.

From the player's perspective, nothing changes visibly. A distant prop occupies only a handful of pixels on screen — those pixels can't show any of the fine geometric detail present in the full-resolution mesh anyway. LOD takes advantage of this by swapping to a cheaper mesh the moment that detail becomes invisible.

Screen size, not world distance. Modern engines switch LODs based on what percentage of the screen the object covers, not raw distance in metres. A massive building 200m away might stay at LOD0 because it still fills a large portion of the screen. A tiny pebble at 5m might already be at LOD2 because it occupies almost no pixels.

The performance gains from LOD can be dramatic. A scene with 500 props all rendering at LOD0 might struggle to hit 60fps. The same scene with proper LODs set up runs comfortably — because the 400 props that are further away are each using 75–90% fewer triangles.

Section 02

Planning a LOD Chain

A LOD chain is the sequence of mesh versions for a single asset, labelled LOD0 through LOD3 or LOD4. LOD0 is full detail — the version you spend the most modelling time on. Each subsequent level reduces the triangle count significantly.

LOD Level Triangle Reduction Typical Use
LOD0 — Full detail None Close range. Every edge, chamfer, and surface detail visible.
LOD1 ~50% reduction Mid-range. Major shapes preserved, fine details removed.
LOD2 ~75% reduction Far distance. Silhouette only. Surface detail replaced by texture.
LOD3 ~90% reduction Very far. Coarse block-out shape. Barely visible.
Billboard (HLOD) Flat quad Extreme distance. A flat sprite image of the asset. Used for trees, rocks, distant props.

Not every asset needs all four LOD levels. A small prop like a tin can might only need LOD0 and LOD1. A large, complex asset like a building or vehicle warrants the full chain. Use your judgement based on how prominent the asset is and how far away the player can view it from.

The LOD transition should be invisible. If you can see the mesh pop between LOD levels during normal gameplay, your transition thresholds or reduction amounts are too aggressive. A well-tuned LOD system is completely transparent to the player — they simply never notice it happening.
Section 03

Auto LOD vs Manual LOD

All three major engines can auto-generate LODs by algorithmically simplifying your LOD0 mesh. This is fast and often good enough for background props. However, auto-LOD has real limitations that matter for anything the player will look at closely.

Auto LOD

Fast to produce. Good for background clutter and distant props. Can produce visible artifacts on hard-surface assets with flat faces, assets with important silhouettes, and anything with complex topology.

Manual LOD

Takes more time but produces far better results. You control exactly which edges are preserved and which are dissolved. Essential for hero props, characters, vehicles, and any asset the player examines closely.

For manual LODs, model each level separately in Blender or Maya. Start from the LOD0 mesh, duplicate it, and progressively dissolve edge loops, merge vertices, and simplify geometry — always preserving the silhouette and any features critical to the asset's readability at that distance.

Build LOD-friendly from the start. Even edge loop distribution and clean quad topology make every LOD step easier. Messy topology with irregular edge flow produces terrible auto-LOD results and makes manual reduction far more tedious. Good topology pays off at every stage of the pipeline.
Section 04

Naming Convention for LODs

Engines detect LOD meshes automatically when they follow the correct naming convention. Getting this right means you can export all LOD levels in one FBX and the engine splits them out on import — no manual assignment needed.

Engine Naming Format Example
Unreal Engine MeshName_LOD0, _LOD1, _LOD2 SM_WoodCrate_LOD0, SM_WoodCrate_LOD1
Unity MeshName_LOD0, _LOD1, _LOD2 WoodCrate_LOD0, WoodCrate_LOD1
Godot MeshName_lod0, _lod1, _lod2 (lowercase) WoodCrate_lod0, WoodCrate_lod1

In Blender, name each mesh object using the convention before exporting. When you export to FBX, all LOD meshes should be in the same file. The engine's importer reads the suffix and automatically builds the LOD chain without you needing to set it up manually in the editor.

Section 05

Setting Up LODs in Each Engine

Unreal Engine 5

Import FBX with LOD suffix naming — UE5 auto-detects and builds the LOD chain. Or open the Static Mesh Editor → LOD Settings → Generate LODs to auto-create from LOD0. Set screen-size thresholds per level in the LOD picker.

Unity

Add a LOD Group component to the parent GameObject. Drag each LOD mesh (as child objects) into the corresponding level slot in the LOD Group inspector. Set transition percentages by dragging the markers on the LOD bar.

Godot 4

Import a GLTF or OBJ with meshes named using _lod0, _lod1 suffixes for auto-detection. Or use a GeometryInstance3D node and configure LOD settings in the Visibility Range properties directly on the node.

Setting transition thresholds

Each engine exposes a way to control at what screen size (or distance) each LOD transition happens. The goal is to set the threshold just below the point where the quality difference between LOD levels becomes noticeable. In practice, this usually means:

LOD0 → LOD1

Transition when the asset stops being examined closely

This is the most important transition. Set it conservatively — LOD1 should only kick in once fine edge details genuinely can't be seen at that distance.

LOD1 → LOD2

Transition when only the silhouette matters

At this distance, only the rough shape of the asset is visible. LOD2 should preserve the overall silhouette while using far fewer triangles for everything inside it.

LOD2 → Cull

Cull when the asset is too small to see

At extreme distances, small props can be culled (not rendered at all) without the player noticing. Unreal and Unity both have a cull distance setting per LOD group.

Section 06

LODs and Textures

LOD meshes share the same texture set as LOD0. You don't need to create new textures for each LOD level — the engine applies the same material to all of them. What does change is texture resolution: distant LODs are so small on screen that a 2048×2048 texture is pure waste at that range.

This is handled automatically through mipmaps — pre-calculated smaller versions of your textures that the engine uses at distance. When you import a texture and enable mipmap generation, the engine automatically uses the 512×512 mip version on a distant LOD2 mesh instead of the full 2048×2048. Always enable mipmaps on all your textures at import time.

Exporting from Trumble for LOD workflows: Trumble lets you export at multiple resolutions from a single painting session. Paint at 2048×2048 for your LOD0 quality, then export at 1024×1024 if you want a separate lower-resolution texture specifically for your most distant LOD levels. The engine's mipmap system handles everything between automatically.
Paint once

Your LOD0 texture set from Trumble applies to all LOD levels. No re-painting required — the same material works across the whole LOD chain.

Mipmaps handle distance

Enable mipmap generation at import time in your engine. The GPU automatically selects the correct mip level for each LOD based on screen size.

Export at target res

Export from Trumble at the resolution that matches your LOD0 poly budget. A 500-tri background prop rarely needs a 2048 texture — 1024 is usually more than enough.

Workflow summary: Build LOD0 in Blender at your full polygon budget. Create LOD1 and LOD2 by progressively simplifying it. Name them correctly for your target engine. Texture LOD0 in Trumble and export — the same texture set applies to all LOD levels. Import the FBX into your engine and let it auto-detect the LOD chain.