Skip to content

Rendering Modes

There are two modes. They produce exactly the same picture, down to the pixel. They differ only in what they cost and what they need from your project.

Leave it on Performance unless one of the two situations below applies to you.

Measured on a Galaxy S20 FE (the Quest 2’s GPU) at 1080p with MSAA 4x, in a busy scene:

Performance Compatibility
One layer 1.75 ms 16.47 ms
Four layers 2.62 ms 19.61 ms

On a Galaxy A53, a slower phone:

Performance Compatibility
One layer 3.91 ms 41.30 ms
Four layers 5.28 ms 44.78 ms

That gap is specific to phones and headsets with MSAA turned on. With MSAA off, both modes are cheap and the difference between them mostly disappears.

So: on mobile or VR, use Performance mode. If you have to use Compatibility mode, turn MSAA off and you will be fine. The editor warns you when it sees Compatibility mode, MSAA and a mobile build target together.

One setting, and only if you use HDR:

  • HDR off: nothing to do.
  • HDR on: set HDR Precision to 64 bits in your URP asset. Performance mode cannot run on the default 32-bit HDR format.

If it finds a format it cannot use, the package switches that camera to Compatibility mode by itself and logs a message once. Nothing breaks, it just costs more. The feature’s Inspector shows the mode the last frame actually used, and the format it saw, so you can check without guessing.

Two situations:

  1. You need HDR and cannot use the 64-bit precision setting.
  2. Your project reads this camera’s output as an image with transparency - screenshots with a see-through background, compositing one camera over another, portal effects. Performance mode does not leave that camera’s output usable that way, so put the camera in Compatibility mode.

If you only take ordinary opaque screenshots, this does not affect you.

Nothing to do. Your transparent materials, particles and third-party VFX all work with either mode, unchanged.

Two things to expect:

  • The outline draws on top of transparent objects. Usually what you want: a selected unit stays visible through smoke or glass.
  • Transparent objects cannot be outlined themselves. If you need one outlined, give it an invisible solid stand-in mesh and put the Outlined component on that.

Supported. A UI or overlay camera on top of your main camera is fine, and costs about 0.74 ms extra on an S20 FE.

Two things to know:

  • An object only an overlay camera can see is not outlined. Outlines come from the base camera.
  • On phones with Mali GPUs, a camera stack with MSAA 4x is expensive (around 9.9 ms on an A53). If you are shipping a stacked UI on that class of hardware, prefer MSAA 2x or off.

Look at the feature’s Inspector. It reports the mode the last rendered frame used, which is not always the one you picked: Unity 2022.3 with URP 14 always uses Compatibility mode, and so does any camera whose colour format cannot support Performance mode. In a script, that is OutlineZeroFeature.EffectiveMode.