Version: Unity 6.3 Beta (6000.3)
Language : English
Runtime performance scaling
Adaptive Performance

Introduction to runtime performance scaling

Runtime performance scaling is the process of adjusting an application’s quality settings while it’s running. The goal is to maintain a stable frame rate and manage device resources like power and temperature by dynamically trading visual quality for performance.

Systems for runtime performance scaling

In Unity, you can control quality settings at runtime with the following tools and APIs:

  • Dynamic ResolutionA Camera setting that allows you to dynamically scale individual render targets to reduce workload on the GPU. More info
    See in Glossary
    : Adjusts rendering resolution automatically to maintain a target frame rate in URP and HDRP.
  • QualitySettings API: Defines and changes between performance tiers with different settings for shadows, textures, and more.
  • Level of Detail (LOD): Modifies the complexity of rendered models by changing the LODThe Level Of Detail (LOD) technique is an optimization that reduces the number of triangles that Unity has to render for a GameObject when its distance from the Camera increases. More info
    See in Glossary
    bias, using simpler or more detailed meshes based on performance needs.
  • Frame Timing Manager: Provides low-level CPU and GPU timing data, enabling scriptsA piece of code that allows you to create your own Components, trigger game events, modify Component properties over time and respond to user input in any way you like. More info
    See in Glossary
    to detect performance bottlenecks and respond as needed.

You can also use the Adaptive Performance system, which monitors device performance and automatically manages these foundational features and APIs to meet your performance targets. This system is especially useful on mobile devices, where hardware constraints can change rapidly.

Additional resources

Runtime performance scaling
Adaptive Performance