All Collections
VR Content
Apps
Application Update Behavior
Application Update Behavior
Westley Heagy avatar
Written by Westley Heagy
Updated over a week ago

⚠️The update behavior covered in this documentation only applies to apps deployed or shared through ManageXR. ManageXR cannot control or force updates to apps acquired and installed from a store, e.g., Meta, Pico, Vive, etc. This also includes apps acquired from other discovery platforms (SideQuest/App Lab). Learn more


FAQ: Will ManageXR interrupt the user experience inside the headset when it runs an app update?

Short Answer: No, ManageXR will wait until an optimal time to update an app so that it does not interrupt the end-user experience. Apps are updated in 2 phases:

  1. Download the app update

  2. Install the app update.

Let's dive into how these 2 phases operate on your device:

1) Download the app update

On the device, ManageXR will begin downloading an app update in the background as soon as it recognizes that there is an update available. If a device is offline when an update has been queued, ManageXR will push the update to it as soon as it comes online. If a device is online when the update is made available, the device will usually recognize this and begin downloading within seconds. Downloading the update will not interrupt any user experience currently running on the device. If a download is interrupted for any reason (e.g., the internet connection was lost or the device was turned off), ManageXR will attempt to restart the download from its last point when it comes back online.

💡If your app uses Bundled Files, ManageXR limits the amount of concurrent file downloads to minimize hardware load and maximize download speed.

Once the update is downloaded, the app update is ready for installation.

2) Install the app update

If the app that needs to be updated is not currently open, the update will be installed immediately. However, if the app that needs to be updated is open, ManageXR will wait until that app is closed before installing the update. (This is because if the app is open while the update is installed, it will force close that app, which can interrupt the user mid-session and lead to a bad user experience.)

ManageXR determines that an app is not actively running if a) the app is not in the foreground or b) the headset has been taken off and gone into an idle state. Thus, if an app update has been downloaded and is waiting for installation, it will immediately install that app update as soon as the app is closed or the headset is taken off.

It's important to note that if Force Update is on, the update will happen no matter what (even if the app is open). To learn more about Force Update, check out our Deploying Applications documentation.

💡Depending on your ManageXR admin app version and PUI version, Pico Neo 3 devices turn off WiFi after 5 minutes of being idle, which will interrupt the download process. Neo 3 devices on ManageXR admin app version 1.7.27+ and PUI version 4.8.19+ will not turn off WiFi after 5 minutes of being idle.

Bonus: App Patching

ManageXR uses a sophisticated App Patching system to ensure your apps update as fast and efficiently as possible! Updating an app from version X to version Y usually requires re-downloading the entire new app file. This can be a huge waste because so much of the application data already exists on the device from the previously installed version. Instead of downloading the entire new app file, ManageXR generates and installs a patch file. A patch file is typically about 20% the size of the original app file, meaning app updates with ManageXR happen 5x as fast and take up only 20% of the bandwidth!

💡We only support patching between APK and OBB if you upload both when uploading an app to ManageXR. It does not work if you deploy the OBB or other files specifically through the Files feature or as a bundled file, or if your app downloads other files itself.


Need more help?

Talk to a member of our team using the chat bubble (in the bottom right of your screen), or reach out to support@managexr.com

Did this answer your question?