Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iPhone 15 Pro Max displays VR and non-VR at the same time when MSAA is enabled #442

Open
1 of 3 tasks
LEMPeter opened this issue Nov 6, 2023 · 4 comments
Open
1 of 3 tasks
Labels
bug Something isn't working

Comments

@LEMPeter
Copy link

LEMPeter commented Nov 6, 2023

SPECIFIC ISSUE ENCOUNTERED

When running VR on an iPhone 15 Pro Max VR and non-VR is displayed at the same time, the non-VR is "on top" of the VR.

I'm 99% sure this isn't a bug with Cardboard, as I've got an older project and a new empty project where this doesn't occur.
I'm at a complete loss as to what can cause this.

I've tried

  • updating Unity from 2021.3.29 to 2021.3.32
  • using different URP settings
  • swapping to Built-in RP
  • swapping between deferred/ forward
  • disabling post processing on URP settings
  • adding shader variants (the screen displays magenta in my app when loading to VR, thought maybe there was a shader issue)

SMARTPHONE (please complete the following information):

  • Device: iPhone 15 Pro Max
  • OS version: iOS 17.0.2

EXPECTED BEHAVIOR

Only VR to be displayed

VERSIONS USED

Cardboard SDK/Cardboard XR Plugin: first observed in 1.21.0 and still observed in 1.22.0
Unity: 2021.3.32

  • Select in which graphics API you can reproduce the bug.
    • OpenGL ES2
    • OpenGL ES3
    • Metal

SCREENSHOTS

vlcsnap-2023-11-06-16h54m49s908

Video: https://drive.google.com/file/d/1SegqEkgWe9ryYYaCjIm7gkcaQ3P11Vtq/view?usp=drive_link

@LEMPeter LEMPeter added the bug Something isn't working label Nov 6, 2023
@LEMPeter
Copy link
Author

LEMPeter commented Nov 9, 2023

I've figured it out, and I would say it is a bug with Cardboard.

Having MSAA enabled in the Render Pipeline settings causes this issue. I wasn't seeing it on a previous project because it's BIRP, and wasn't seeing it on the new test project I created because by default it was using the URP-Balanced quality which has MSAA disabled by default, whereas my project with the issue is using URP-HighFidelity - which has MSAA x4.

SPECIFIC ISSUE ENCOUNTERED

When MSAA is enabled in URP settings, a non-VR camera is rendered at the same time as VR. I have only observed this issue on the iPhone 15 Pro Max.

Can confirm it DOES NOT happen on:
iPhone 11
iPhone 13 Pro Max

SMARTPHONE (please complete the following information):

  • Device: iPhone 15 Pro Max
  • OS
    • Android
    • iOS
  • OS version: iOS 17.0.2

STEPS TO REPRODUCE THE ISSUE

  1. Create a new URP project
  2. Import Google Cardboard
  3. Go to Project Settings -> Quality and check which quality level is being used, by looking at which tick is green for iOS (probably Balanced)
  4. Go to Assets/Settings and select URP-Balanced
  5. Enable MSAA under 'Quality', issue happens with any level of MSAA
  6. Build for iOS using the sample scene included with Cardboard
  7. Run on device from XCode, observe the issue

EXPECTED BEHAVIOR

MSAA to not cause this double camera on any device

VERSIONS USED

What version of Google Cardboard are you using?
Cardboard SDK/Cardboard XR Plugin 1.21.0 and 1.22.0

If you are using Cardboard XR Plugin:

  • What version of Unity are you using?
    Tested on Unity 2021.3.29 and 2021.3.31

  • Select in which graphics API you can reproduce the bug.

    • OpenGL ES2
    • OpenGL ES3
    • Metal

SCREENSHOTS

See first post

@LEMPeter LEMPeter changed the title iPhone 15 Pro Max displays VR and non-VR at the same time iPhone 15 Pro Max displays VR and non-VR at the same time when MSAA is enabled Nov 9, 2023
@SarahBhandiwad
Copy link

Our team is experiencing the same issue using Unity editor version 2022.3.14f1. We have resolved it for now by turning off MSAA, but this is not a long term solution for us. Hopefully the Cardboard SDK will be updated with a proper fix that allows anti-aliasing.

@Last8Exile
Copy link

Workaround does not work if MSAA disabled at runtime. It needs to be disabled in URP Asset before build.

@ChaosAlfa
Copy link

Is there any workaround? Without a fix we will have to disable MSAA for all iOS devices which is a suboptimal solution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants