Version: 2020.3
Language : English
Example: creating a quad
LOD Group

Level of Detail (LOD) for meshes

This page contains information on level of detail (LOD) for meshes. For information on LOD for shadersA program that runs on the GPU. More info
See in Glossary
, see SubShader LOD value.

Level of detail (LOD) is a technique reduces the number of GPU operations that Unity requires to render distant meshes.

When a GameObjectThe fundamental object in Unity scenes, which can represent characters, props, scenery, cameras, waypoints, and more. A GameObject’s functionality is defined by the Components attached to it. More info
See in Glossary
in the SceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info
See in Glossary
is far away from the CameraA component which creates an image of a particular viewpoint in your scene. The output is either drawn to the screen or captured as a texture. More info
See in Glossary
, you see less detail compared to when the GameObject is close to the Camera. However, by default, Unity uses the same number of triangles to render it at both distances. This can result in wasted GPU operations, which can impact performance in your Scene.

The LOD technique allows Unity to reduce the number of triangles it renders for a GameObject based on its distance from the Camera. To use it, a GameObject must have a number of meshes with decreasing levels of detail in its geometry. These meshes are called LOD levels. The farther a GameObject is from the Camera, the lower-detail LOD level Unity renders. This technique reduces the load on the hardware for these distant GameObjects, and can therefore improve renderingThe process of drawing graphics to the screen (or to a render texture). By default, the main camera in Unity renders its view to the screen. More info
See in Glossary
performance.

To understand how to use LOD in Unity, you must first understand what LOD levels are, and how they work.

LOD Levels

A LOD level is a meshThe main graphics primitive of Unity. Meshes make up a large part of your 3D worlds. Unity supports triangulated or Quadrangulated polygon meshes. Nurbs, Nurms, Subdiv surfaces must be converted to polygons. More info
See in Glossary
that defines the level of detail Unity renders for a GameObject’s geometry. When a GameObject uses LOD, Unity displays the appropriate LOD level for that GameObject based on the GameObject’s distance from the Camera.

Each LOD level exists in a separate GameObject, each of which has a Mesh RendererA mesh component that takes the geometry from the Mesh Filter and renders it at the position defined by the object’s Transform component. More info
See in Glossary
component that displays that LOD level. For the very lowest level of detail, you can use a BillboardA textured 2D object that rotates so that it always faces the Camera. More info
See in Glossary
Asset, which Unity displays instead of a 3D mesh. Unity shows and hides these GameObjects as required. LOD levels must be child GameObjects to the GameObject they relate to.

The images below demonstrate how the LOD levels change according to distance from the Camera.

At LOD 0, the Camera shows a mesh with a large number of small triangles. At LOD 1, the Camera shows the mesh with far fewer triangles, which are much larger in size.
At LOD 0, the Camera shows a mesh with a large number of small triangles. At LOD 1, the Camera shows the mesh with far fewer triangles, which are much larger in size.

Set up LOD in Unity

To use LOD, you must have a GameObject with a LOD GroupA component to manage level of detail (LOD) for GameObjects. More info
See in Glossary
component. The LOD Group component provides controls to define how LOD behaves on this GameObject, and references the GameObjects that Unity shows or hides for each LOD level. See LOD Group for details on the properties in this component.

You can set up LOD in Unity two ways:

  • You can configure LOD levels in your external 3D modeling application, and Unity can automatically create and configure the required GameObjects and components for you. See Importing LOD Meshes for details on the correct configuration.
  • You can manually create a GameObject with a LOD Group component, and configure the LOD levels manually.

Configuring LOD levels

To manually configure the distance from the camera at which Unity displays each LOD level, use the LOD Group component’s selection bar.

The LOD Group component accepts a maximum of eight LOD levels. LOD 0 is the closest to the Camera, and therefore the most detailed LOD level.

Project-wide LOD settings

In the Quality settings window, you can configure LOD settings that affect all GameObjects in your Project.

There are two LOD settings you can configure:

  • Maximum LOD Level: Exclude meshes above a specified LOD level from your build.
  • LOD Bias: Determine whether to favor higher or lower LOD levels at threshold distances.
Example: creating a quad
LOD Group