Level of detail (LOD) is a technique that 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 rendering performance.
To understand how to use LOD in Unity, you must first understand what LOD levels are, and how they work.
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.
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:
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.
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: