Add LODs to your highpoly models!

Do you feel bad when importing a highpoly model?

Here’s how you can feel less guilty about it!


What are LODs?

With LODs, CarX can sneakily switch your model into a lowpoly version as you move further away. It’s a boring optimization technique that no one bothers to do, but our computers will thank you.

That CD player had a 6,184 vertices when we were upclose to it. When we moved further away, it only had 232 vertices.

(Some side-effects may occur. Check the notes at the bottom of this post!)


1) Duplicate your object

  • (Added on 2025-08-10T20:00:00Z) Duplicate using Alt+D to create a linked duplicate (This way the mesh is synced)
  • More duplicates = More LODs = Smoother transitions
  • Duplicate small highpoly objects 1-2 times only. (Larger highpoly objects may need more LODs. Use your judgement)
  • Some side-effects may occur if you use too many LODs. (Check the notes at the bottom of this post)

2) Rename your objects

  • Add “_LOD0” to the end of your base mesh. (ex. “Stereo” becomes “Stereo_LOD0”)
  • For the rest, just increment the number. (“_LOD1”, “_LOD2”, “_LOD3”, etc.)

3) Add the Decimate modifier

  • :prohibited: Do not add the modifier to LOD0!
  • From LOD1 onwards, gradually decrease the “Ratio” slider. (ex. LOD1 gets 0.50 ratio, LOD2 gets 0.20, etc.)
  • Use your eyes to judge what looks okay.

4) Add the Weighted Normals modifier

  • The Decimate modifier can cause weird shading. Use Weighted Normals to remedy this.
  • You may apply it to all your LODs, but it’s optional for the base LOD0 mesh.

Congratulations

  • You can now import your model into Unity.
  • Unity will automatically add a “LOD Group” component to your object.

Bonus tips & tricks

1) Use the slider to control where they transition

2) Control LODs from Kino graphics

  • Lower value = LODs load in at earlier distances (Better for performance, but more noticeable jumps between LODs)
  • Higher value = LODs load in at farther distances
  • As a baseline, I’d recommend everyone to stick to the default value of 1.00

Notes

  • Adding LODs can quickly increase filesize + VRAM usage. That’s why you shouldn’t add too many LODs.
  • Generally speaking, not every object needs to have LODs. If your model is already lowpoly, adding LODs will add unnecessary complexity. (In some cases, it may hurt performance)
  • :warning: KNPPs are bugged with LODs as of 2025-07-01T20:00:00Z. They can load up LODs correctly, but the “LOD Group” component in Unity gets overridden by CarX’s default parameters. They also don’t play nice with liveries. The developer of Kino is aware of this problem, and may eventually fix it.
11 Likes