Project settings: quality
This section of the guide explains the quality settings that Unity provides so that you can select the correct settings for your application.
To see the Unity quality settings, follow these steps:
- Click Edit > Project Settings on the Unity main menu to display the Project Settings dialog.
Click Quality in the category list on the left.
The details pane on the right shows the quality settings, as shown in the following image:
Note: When using the Universal Render Pipeline (URP) template, some settings that would otherwise appear in the Quality category move to the URP asset.
The following options in the Quality category can have a large impact on the performance of your game:
- Texture Quality
Setting texture quality to a higher resolution can load the GPU but typically does not cause performance problems. Reducing texture quality can negatively impact the visual quality of your games, so only reduce the quality if you must. In the Ice Cave demo, Texture Quality is set to full resolution.
If textures are causing performance problems, try using mipmapping. Mipmapping reduces compute and bandwidth requirements without impacting image quality.
- Anisotropic Textures
The Anisotropic Textures option is a technique that removes distortion from textures that are drawn at high gradients. This technique improves image quality but is computationally expensive.
Avoid using the Anisotropic Textures option unless distortion is especially noticeable.
- Realtime Reflection Probes
The Realtime Reflection Probes option can have a significant negative impact on runtime performance.
When a reflection probe is rendered, every face of the cubemap is calculated separately by a camera at the origin of the probe. If inter-reflections are considered, this process happens for every reflection bounce level. For glossy reflections, the cubemap mipmaps are also used to apply a blurring process.
The following factors influence rendering of reflection probes with cubemaps:
- Higher resolution cubemaps increase rendering time. Use the lowest resolution cubemap possible for the quality that you require.
- Use the culling mask when rendering the cubemap to avoid rendering any geometry that is not relevant in the reflections.
Cubemap update frequency
The Refresh Mode option defines the update frequency for a cubemap. This option has the following settings:
- Every Frame renders the cubemap every frame. This option is the most computationally expensive mode, so avoid using it unless you require it.
- On Awake renders the cubemap at runtime only once, when the scene starts.
- Via Scripting lets you control when the cubemap is updated. With this mode, you can limit the use of runtime resources by specifying the conditions when an update takes place.
- Skin Weights, LOD Bias, Particle Raycast Budget
- These settings are all options that you should consider adjusting to balance quality against performance. Please refer to the Unity Documentation for more information.