# Can choosing render mode: multi-pass have possible nasty side effects?

**URL:** <https://forum.magicleap.cloud/t/can-choosing-render-mode-multi-pass-have-possible-nasty-side-effects/4935>\
**Category:** OpenXR\
**Created:** [January 7, 2025, 5:55am UTC](https://forum.magicleap.cloud/t/can-choosing-render-mode-multi-pass-have-possible-nasty-side-effects/4935 "2025-01-07T05:55:09Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![localjoost](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.magicleap.cloud/localjoost/32/1829_2.png) [@localjoost](https://forum.magicleap.cloud/u/localjoost)\
**Post date:** [January 7, 2025, 5:55am UTC](https://forum.magicleap.cloud/t/can-choosing-render-mode-multi-pass-have-possible-nasty-side-effects/4935/1 "2025-01-07T05:55:09Z")

</div>

To make a few shaders work, I have changed the apparently default render mode setting change to multi-pass:

 ![image](https://us1.discourse-cdn.com/flex019/uploads/magicleap1/original/2X/1/10b67d711d54f72b751297815f9e77ac2b07505e.png)

This makes the shaders work, and so far I haven't noticed any adverse side effects as far as I can see. Do you know of any that I might run into with the current setup?

Using:

- Unity 2022.3.40f1
- OpenXR
- SDK 2.6.0
- ML MRTK 1.4.0
- OS 1.11.0
- Alpha blend on rendering extensions

---

<div class="post-metadata">

**Author:** ![kbabilinski](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.magicleap.cloud/kbabilinski/32/19_2.png) [@kbabilinski](https://forum.magicleap.cloud/u/kbabilinski)\
**Post date:** [January 7, 2025, 4:31pm UTC](https://forum.magicleap.cloud/t/can-choosing-render-mode-multi-pass-have-possible-nasty-side-effects/4935/2 "2025-01-07T16:31:02Z")

</div>

You are correct, switching to multipass rendering allows for better compatibility with shaders that aren't designed for single-pass instancing.

The main downside of multipass is the performance impact, especially on the CPU. Since multipass renders the scene twice (once per eye), it doubles draw calls and culling operations, increasing CPU load. On non-tiled GPUs like the Magic Leap 2, the GPU impact may be less noticeable compared to mobile or tiled architectures, but it can still increase bandwidth usage. In applications that are GPU bound, enabling multipass can actually improve performance by offloading some of the GPU work to the CPU.

I recommend keeping an eye on your applications performance and the Unity Profiler to check if things start slowing down as you add more content. If you notice performance issues you may need look into optimizing the shaders for single-pass instancing again.

* * *

Here is a guide that allows developers to enable a HUD that shows some performance metrics about their applications:

> **[Developer Hud | MagicLeap Developer Documentation](https://developer-docs.magicleap.cloud/docs/guides/developer-tools/lumin-aosp-tools/developer-hud/)**
>
> Developer HUD is a feature meant to allow applications to view metrics related to system performance without being tethered to a laptop/desktop. It should help give developers a good idea of how the system is performing frame to frame. A good time...
