(I've asked this very same question on both the Unity forums and the Unity3D Reddit, but both seem ghost towns…)
TL;DR
After a while (seconds to minutes), objects in my game glitch in and out of existence. It gets progressively worse until the screen is nothing more than a jumbled mess. After a lot of testing, I found out some “mixed” point lights are the probable cause. If I remove those lights, the glitching is gone. I'm using the URP Ultra Forward renderer.
In More Detail
Not sure which Quest 2 update exactly broke the game since I only noticed it a few days ago. I know it's caused by an update since I have the game running here on 15 different Quest 2's and none were experiencing any problems just a few months ago, and now all Q2's show this problem...
Anyway, my game was built using 2021.3.21f1.
The game still runs without any problems on the Quest 1 and the Quest 3. But on the Quest 2, it glitches big time. Objects blink in and out of existence continuously.
The game is made up of three scenes. It doesn't glitch on scenes 1 & 2, and only starts glitching when in scene 3 - and not immediately. You can walk around in that scene for a bit but after a while (sometimes after 10 seconds, sometimes after a few minutes) it starts glitching. If I call up the Quest menu (by clicking the Oculus button on the right controller), the menu displays fine while the game is glitching in the background.
What actually happens, is that objects briefly (a few frames) glitch in and out of existence, so you actually see what's behind the objects (the white dots you see in the video below are the stars outside). The glitching does gets worse over time. You'll see different things happening, like a tiled screen with each screen displaying a render of a frame, but from a completely different angle than where the camera is. And eventually, the screen is just what looks like random pixels.
Debugging
At first I thought it might be corrupt occlusion data, but rebaking the occlusion data or even completely omitting it, did not solve the problem. I also tried 2021.3.35f1 but that did not make a difference either.
I've ran the OVR metrics hub and memory does get low, but IMO not fatally low. In OVR, it says there's still "777" available memory. I assume that's 777MB (since when nothing is running, it says there is 2500 free, and I'm guessing that's 2.5GB).
I also updated to 2022.3 LTS, rebaked occlusion data and light maps. And the problem is still there... I think it might be a problem related to Vulkan since if I remove Vulkan from the list of Graphic APIs (and only leave OpenGLES3), it doesn´t glitch. Well, it doesn´t glitch like this but I have all kinds of other lighting problems (so switching to OpenGLES3 isn't a solution).
Possible Cause
In order to find out what is causing the glitch, I removed all game objects one by one, rebuilding the game after every removal. At the end, I only had the floor and a 8 “mixed” point lights left, and it was still glitching. So at least I now know it isn't memory related. Since I didn't suspect the floor (a simple plane) was the problem, I removed the lights and added a few game objects back in. No glitching. In fact, I could add all game objects back in and the glitching didn't return. But as soon as I added (a few of) the lights, the glitching was back. I tried changing the settings in the URP renderer, but nothing seemed to make a difference.
My Question
Please help me debug this problem…
UPDATE 1
I tested a bit longer and it does glitch with those lights removed, it just took a bit longer before the glitching began. So apparently, those lights are not the cause. But it might still be related to the lights, because other lights were present.
UPDATE 2
I left it glitching for a while and noticed that eventually it rendered two completely different images for each eye, each from completely different angles as if there were two camera's instead of one.