Skip to main content
New Participant
November 24, 2025
Question

Unable to use Meta XR Simulator more than 3 minutes

Hi,

I’m trying to test the Meta XR Simulator in order to develop a VR experience in Unity. The Unity package requires the headset to remain connected to my PC so that I can test VR without wearing the headset, and so the controllers can be linked to the simulator (I’m not sure why they can’t be paired via Bluetooth like Switch Joy-Cons when developing a Switch game in Unity). The workflow is essentially the same as testing in Play Mode with the headset on — but why not I guess.

On the headset, the XrSimDataForwardingServer.apk is running, and I’ve covered the proximity sensor with black tape to prevent it from entering sleep mode. With this setup, I’m able to use the controllers for about 2–3 minutes, but then the headset still goes to sleep.

Because we are a school, we use a third-party MDM to manage all our headsets, so this device is in Shared Mode. As a result, I get the “Continue the session?” popup. Even when I press the button to continue, it simply loops back to the same popup indefinitely.

In our MDM, the headset is configured to sleep after one hour, but since the device detects no movement (even though I’m actively using the controllers in Play Mode with the Meta XR Simulator), it still enters sleep mode.

How can I resolve this in order to develop my VR experience more efficiently?

Thank you in advance for your help.

2 replies

steve40
Honored Contributor
November 24, 2025

Try increasing the time for Settings->Power->Display off

New Participant
November 25, 2025

This is a fairly common issue when using Meta XR Simulator on a headset that is MDM-managed or running in Shared Mode. What’s happening is:

The headset is detecting no HMD movement, only controller input
In Shared Mode the inactivity logic is stricter than standard mode
So even though you are interacting via the simulator, the device keeps triggering the “continue session?” sleep dialog

A few things you can try:

1. Disable Shared Mode Temporarily (If Possible)

If you have access to MDM settings, put the headset into Single User Mode while developing and testing.
Shared Mode forces the inactivity prompt and Meta’s simulator does not currently count controller movement as activity.

Even temporarily switching to Single User mode often resolves the issue.

2. Increase or Disable Inactivity Timeout on the Headset

Even though your MDM is set to 1 hour, Meta OS has its own inactivity flag. From the headset or adb:

adb shell settings put secure sleep_timeout 0

or set a higher timeout value in milliseconds.

This prevents sleep from triggering even if the device is not being moved.

3. Use an “Activity Ping” Script (Workaround)

Some developers work around this by running a tiny repeating ADB command that continually resets the screen timeout:

adb shell svc power stayon true

or by sending a “wakeup” input every few minutes. This tricks the OS into thinking the headset is active.

4. Disable the Proximity Sensor (Properly)

Covering the proximity sensor sometimes helps, but on Shared Mode it may still sleep.
With ADB you can completely disable the sensor:

adb shell setprop debug.oculus.disable_proximity 1

Don’t forget to undo it later:

adb shell setprop debug.oculus.disable_proximity 0

5. Ask Your MDM Admin to Allow “VR Development Mode”

Some MDM systems (e.g., ArborXR, ManageXR, etc.) have a feature to:

Disable system idle timeout
Prevent session expiry
Override proximity sensor behavior

If your fleet system supports this, enabling it will solve the issue without hacks.

6. Reality: Simulator Doesn’t Count Input as Activity

Right now, Meta XR Simulator’s input forwarding does not count controller input as headset activity, so the OS thinks the device is idle. That’s why this works fine when worn, but not on a desk.

Meta is aware of this limitation, but until they update the simulator, developers need to:

 Increase timeout
 Disable sleep
 Or temporarily disable Shared Mode

Quick fix that works for most developers

Run:

adb shell svc power stayon true

Then restart the simulator — the headset will stay awake even without movement.

Hope that helps, and good luck with your project!