Search Unity

Tutorial - How to use the FREE Performance Optimization / Draw Call Reducer (HLOD)

Discussion in 'Community Learning & Teaching' started by ChrisKurhan, Feb 28, 2023.

  1. ChrisKurhan

    ChrisKurhan

    Joined:
    Dec 28, 2015
    Posts:
    267


    Hey all ! Happy #TutorialTuesday!

    Performance Optimization is hard. Unity provides a lot of tools but not all are well known. Learn how to use the free tool, Hierarchical LOD (HLOD) to dramatically reduce draw calls and boost FPS! 10x FPS increase in this example! Over 10k draw calls removed!
    Body:

    Performance optimization is something that is hard to get into. There's not a lot of tutorials on it because every use case is a little different. Unity provides a great tool called "Hierarchical LOD" or "HLOD" that can help some use cases, such as if you have large draw distances and wide, sweeping views.

    What it does is segments meshes underneath a parent, automatically combines meshes (draw call reduction comes here), optionally simplifies the meshes (further, automatic performance improvements), and then acts effectively like a standard LOD Group component to swap out meshes.

    In the full tutorial I show how to set it up, talk about each configuration option, and demonstrate what kind of performance benefit can be gained with very little effort on a very unoptimized scene from a modular asset from the asset store.

    ‍ Find the HLOD project code on GitHub (demo scene not included because it's from the Asset Store)!
     
    heartingNinja, Julhiecio and olavrv like this.
  2. THE2FUN

    THE2FUN

    Joined:
    Aug 25, 2015
    Posts:
    63
    Amazing tutorial and hidden gem
     
  3. rajneeshadrack

    rajneeshadrack

    Joined:
    Feb 15, 2023
    Posts:
    6
    Its a amazing tool. Can I use this tool for android device?
     
  4. ChrisKurhan

    ChrisKurhan

    Joined:
    Dec 28, 2015
    Posts:
    267
    I haven’t run it for an Android build but since it just works by combining meshes in editor and then managing them through a voxel-esque system I don’t see why it wouldn’t work on any platform.