cancel
Showing results for 
Search instead for 
Did you mean: 

Quest Headset Freezing and Unresponsive During Gameplay, Unable to Force Shutdown - Seeking Advice!

GzsIceberg
Explorer

Hello everyone,

I am a developer for a VR game and we've received multiple user reports about a critical issue. Our game appears to be causing the Meta Quest headset to freeze and become completely unresponsive. Below is a user review that describes the problem:

"I would give it 5 stars, but it broke my headset. My game froze and I couldn't shut my headset off, press any buttons without them not working, I couldn't even open up to the boot screen. This game is awesome but it breaks your headset. I held my power button for 5 minutes and it did nothing. Eventually my headset restarted and it started working again but I definitely would not recommend playing this game until this issue is fixed. Edit: This is a reply to the developer response. My game froze as I was coming out of the giant room after going through the portal with the key. I could not do anything and if I moved my head, that frame would move around creating a VERY nauseating experience. No buttons worked at all including the power button. This happened twice but the first time it was at a different spot, and for not as long."

When the game freezes, it fully locks up the headset; surprisingly, even the physical power button fails to respond, which should normally force a shutdown.

Investigation Efforts:

We have already attempted the following methods to replicate the issue:

  1. Log Writing Test: We used a code to continuously write logs to fill up the Quest's storage. Even after the storage was completely filled, the game continued to operate normally.

  2. Memory Leak Simulation: We deliberately created a memory leak to exhaust the system's memory. This resulted in the game freezing, but the headset could still be normally shut down and restarted.

Seeking Advice:

Has anyone else encountered a similar issue with their applications? How could an application potentially affect the functionality of a physical button like the power button on the Meta Quest? This seems technically implausible, and we are trying to understand the scope and root cause of this problem.

We are at a loss for other potential causes that might lead to this issue. Does anyone have any insights or suggestions on what else we could try?

We appreciate any insights, suggestions, or similar experiences you could share to help us resolve this issue. Thank you!

1 ACCEPTED SOLUTION

Accepted Solutions

GzsIceberg
Explorer

I have found the cause of the freeze.

Based on my tests, I discovered that the freeze occurs when there is high memory usage, and continuously allocating and deallocating memory leads to the freeze. By reducing our application's memory usage, I found that the issue could no longer be reproduced.

Previously, our PSS was around 3.7GB. We managed to reduce it to 2.5GB through various means, and after 200 cycles of repeated openings, there were no freezes. Before, it would freeze after about 20-30 cycles.

I hope this can help future developers.

View solution in original post

2 REPLIES 2

GzsIceberg
Explorer

I tried using OpenGLES3, but it seems that OpenGLES3 has depth precision issues on the Quest 2, causing severe z-fighting, so we cannot switch to OpenGLES3.

I have upgraded Unity to 2022.3.31f1, upgraded the Meta SDK from v62 to v65, and also updated the Oculus XR Plugin to the latest version.

Based on user feedback and our testing, the freezing issue still persists. However, we found that it is possible to force shut down by holding the power button for 30 seconds. Users who said they couldn't shut down might not be aware that they can hold the power button for 30 seconds.

Additionally, based on our testing, we found that we can relatively consistently reproduce the issue by repeatedly calling multiple ParticleSystem.Play methods. However, this hasn't helped us find the root cause.

GzsIceberg
Explorer

I have found the cause of the freeze.

Based on my tests, I discovered that the freeze occurs when there is high memory usage, and continuously allocating and deallocating memory leads to the freeze. By reducing our application's memory usage, I found that the issue could no longer be reproduced.

Previously, our PSS was around 3.7GB. We managed to reduce it to 2.5GB through various means, and after 200 cycles of repeated openings, there were no freezes. Before, it would freeze after about 20-30 cycles.

I hope this can help future developers.