SurfaceGuis unrender based on incorrect CFrame in Virtual Reality

,

I’m working on a playground-type game for VR users to toy around with and I have tools on the hand with SurfaceGuis to display the current tool name, options, subtext, etc.
Some angles, the SurfaceGui seems to unrender even though I am looking directly at it in VR. This appears to be caused by the game using the correct orientation and the incorrect position. The orientation seems to match the headset’s orientation, however the position seems to be the center of the play area at the floor.
If you were to look at your tool from outside the center while facing towards the center, the SurfaceGui will unrender. If you turned around, it will re-render.
If you stood atop the center and looked down with your tool infront of your face, the SurfaceGui will unrender. If you look up, it will re-render

If you’re trying to work with your tool, you gotta get a bit fiddly with the angles to see what you’re doing.

Edit: After further investigation, it doesn’t seem to have anything to do with headset orientation. If the face of the SurfaceGui is not visible to a certain corner of your play space on the floor, the SurfaceGui will unrender.

7 Likes

I know this is a necro-bump, but this bug still exists to this day. I’m attempting to make some displays in VR, and every time I look in a certain direction all my SurfaceGuis unrender. Perhaps @zeuxcg might be able to chime in on this topic (and whether or not it’s a quick fix).

1 Like

Same issue with me, however, it also crashes the game entirely and forces the oculus software to die. On oculus link it causes the weird white screen flashing.
I think this is because the Roblox engine is trying to lighten graphics on the GPU by unrendering but obviously its buggy in vr as the camera doesn’t represent the head’s cframe (taking a wild guess here).
Roblox is also a bit lax with vr development so it probably doesn’t care and hasnt paid much attention to it.

As a solution I spam visibility on the gui and frequently reinstance it. Somehow works!

1 Like