Graphics
This page provides more information on Unity MARS rendering support and features in the Editor.
Composite Render
The Composite Render is the special render setup for Unity MARS that allows the Simulation view to render the Simulated Environment separately from and occluded by the Simulated Content in the editor views. This is achieved by the Simulation Scene being broken into two preview scenes with a camera rendering each scene. This supports the built-in render modes fully with partial support through fallback options for Scriptable Render Pipelines (SRP).
Composite Render Options
Options for the Composite Renderer can be found in the Project Settings Window accessed under MARS > Editor Visuals > Composite Render. This contains options to enable fallback rendering mode Use Fallback Composite Rendering. When enabled the composite rendering is simplified to use a single simulation scene and camera. This provides wider support to different rendering APIs and Scriptable Render Pipelines (SRP). The Use Camera Stack In Fallback keeps the single simulation scene setup but uses the composite camera as a child of the target camera with a lower sort depth to be rendered before the target camera on the camera stack. This mode is not supported in the Scene or Simulation View and will still use the base fallback setup.
Supported Rendering Modes
Feature | Supported |
---|---|
Forward | Yes |
Legacy Deferred | Yes |
Deferred | Yes* |
Post Processing | Yes |
VR | No |
VR Single Pass | No |
URP | Yes** |
HDRP | No |
Custom Render Pipe | No |
AR Camera Background | Yes‡ |
AR Background Render Feature | Yes‡ |
* MARS depth shaders not supported\ ** In play mode with AR Foundation Providers or with Fallback Composite (no camera stack)\ ‡ In play mode with AR Foundation Providers or Runtime Supported
Post Processing
Unity MARS supports Post Processing version 2.2.2 and greater. Unity MARS uses this to enhance the rendering of the Simulation views with color correction, ambient occlusion, and chromatic aberration applied only to the simulated environment. These effects provide some extra separation of the Scene content on the simulated environment, to better represent what you see on the target device. The post processing profiles included with the MARS content are for legacy rendering only and do not support URP.
AR Background Setup in Unity MARS
AR Foundation provides a simple way to add your device's camera feed to the background of your Unity MARS app using ARCameraBackground and the ARBackgroundRenderFeature in URP. If you are using the Unity MARS AR Foundation Providers package, the AR Camera Background will automatically be added to your scene at runtime by the AR Foundation Camera Provider. If you are not using the Unity MARS AR Foundation Providers or you need to use custom settings on the ARCameraBackground, refer to the section on AR Camera Background in the AR Foundation scene setup guide.
Configuring ARCameraBackground with the Universal Render Pipeline
If you are using URP (Universal Render Pipeline), you will need to upgrade the AR Foundation package and associated packages to version 3.0.1 or greater using Package Manager. To add the AR Background Render Feature to your render pipeline refer to this additional documentation to configure an AR Foundation project with a URP.
Universal Render Pipeline
Unity MARS supports Universal Render Pipeline (UniversalRP) 7.x or greater. Shaders within MARS are built to support URP without the need to upgrade the material. However, if you started your project before switching to URP, you might still need to upgrade materials, especially those on primitive objects. To do this, from Unity's main menu, go to Edit > Render Pipeline > Universal Render Pipeline > Upgrade Project Materials to UniversalRP Materials.
Some features of the composite render are not supported in Universal RP at this time. These are: simulated occlusion, simulated environment GI lighting, and simulated environment post FX. To use the AR Background Render Feature from AR Foundation with the UniversalRP refer to AR Background Setup in Unity MARS.
For more information about compatibility between the associated packages and AR Foundation refer to AR Foundation Providers package documentation.
URP Known Issues
- Composite occlusion does not render correctly in Simulation and Device Views.
- Simulation Environment uses the main scene render and lighting settings not the ones set in the Simulation Environment
- OpenGLCore is not a supported Graphics API for MARS Editor Simulation Rendering. When using OpenGL in the Unity Editor the Simulation and Device view may render as expected but the Game View will not render your content. For more information on this issue please see the FAQ.
- Switching render pipelines or render pipeline assets at runtime when using Composite Rendering is not supported. Changing the render pipeline setup runtime can lead to unknown results and errors with the Composite Renderer.