Unity provides a variety of performance-related features and settings in its Universal Render Pipeline (URP) Asset settings. Enable or disable these features to reduce GPU and CPU performance costs and to improve visual quality.
Change URP Asset settings
Follow these steps to access Unity's URP Asset settings, where you can configure the performance features that are outlined in the subsequent sections:
- From the Unity main menu, click Edit > Project Settings > Graphics.
- Find your Default Render Pipeline asset, which is also your URP asset.
- Search for this asset in your project.
- Right-click the asset and select Properties.
Disable HDR
Disable HDR to improve performance on mobile XR hardware, where HDR provides minimal visual benefit compared to its performance cost.
Disable this feature
In the URP Asset properties that you navigated to earlier, disable HDR.
Disable post processing
Post processing is expensive on mobile XR hardware and often provides minimal visual benefit compared to its performance cost.
Disable this feature
- In the URP Asset properties that you navigated to earlier, find the Renderer List.
- In the Renderer List, right-click the Universal Renderer and select Properties.
- In the Post-Processing section, deselect Enabled.
Disable Depth Priming Mode
XR devices use two views, which increases the performance cost of performing the depth pre-pass required for depth priming. Depth priming skips drawing overlapping pixels to speed up rendering by using the depth texture to check for overlaps.
But for untethered XR devices, there's no advantage to using depth priming as you can achieve similar results by using hardware optimization features like Low-Resolution-Z (LRZ) or Hidden Surface Removal (HSR).
Benefits
- Avoids increased performance impact from the depth pre-pass due to the two views on XR devices.
- Allows use of hardware optimizations like LRZ or HSR for similar results.
- Eliminates an unsupported and unnecessary step for untethered XR devices.
Disable this feature
- In the URP Asset properties that you navigated to earlier, find the Renderer List.
- Right-click the (Universal Renderer Data) file and select Properties.
- Change the Depth Priming Mode to Disabled.
Enable MSAA for anti-aliasing
Using Multi-sample Anti-aliasing (MSAA) is an efficient way to improve visual quality on mobile and untethered XR platforms. Tile-based GPUs, which are common in these devices, can store more samples in the same tile.
This makes MSAA a performance-efficient anti-aliasing solution. A 2X MSAA value provides a good balance between visual quality and performance.
Enable this feature
In the URP Asset properties that you navigated to earlier, change Anti Aliasing (MSAA) to 2x.
Use URP Debug mode settings and features
Other important URP Asset settings are available through Debug mode. Follow these steps to access these settings:
- From the Unity main menu, click Edit > Project Settings.
- Select Graphics section from the left panel.
- Find your Default Render Pipeline asset (this is your URP asset).
- Search for this asset in your project and select it.
- Click the three dots in the top right and select Debug.
Disable Depth and Opaque Textures
Disabling depth and opaque textures eliminates extra texture copying that wastes GPU time. These textures cause additional copy operations and GMEM loads, which reduces performance.
In your URP Asset Debug settings, disable the following options:
- Require Depth Textures
- Require Opaque Texture
Enable SRP Batcher
The SRP Batcher reduces CPU time for scenes with many materials using the same shader variant by reducing render-state changes between draw calls.
In your URP Asset Debug settings, enable Use SRP Batcher.