I am trying to display a video in Magic Leap 2 using Unity, and it plays perfectly. However, the video is transparent and I can see the real world objects behind it. I set the canvas to opaque and that did not help. I also noticed that any opaque object I put in the Unity scene appears as transparent when I see it through the ML2. Is there anyway I can make objects fully opaque when I use the ML2?
Do you mind providing more information about the Unity SDK Version? Are you using OpenXR?
Yes, I am using OpenXR. I am using Unity version 2022.3, not sure if this is the sdk version. If not, then not sure how to find it.
When you run the application do you see the segmented dimmer behind your objects?
Objects will be transparent without the segmented dimmer because the Magic Leap uses an additive transparent display. The segmented dimmer layer can be used to dim pixels selectively making objects look more opaque.
So will this apply the segment mask to every object in the unity scene?
Correct. This will apply the dimmer based on the final image's alpha. You could possibly change how the dimmer is applied using a screen space effect via a render feature, although we do not have guides on this process at the moment.