Skip to main content
Version Management

Frequently asked questions about version management.

Josh Franzen avatar
Written by Josh Franzen
Updated over a week ago

What is best practice for uploading new versions (or builds) of apps?

πŸ’‘ All new versions of an app must be uploaded to the existing app entry within the Apps page in your ArborXR Content Library, rather than creating a new app entry for each new version.

  1. Navigate to Content Library in the side navigation menu.

  2. Click on the app in question to be directed to the app's overview page.

  3. Click Upload Version.
    ​

  4. Click Browse or simply drag & drop the .apk file.
    ​


    ⚠️ If your app includes an .obb file, you must upload a zipped folder containing the .apk and the .obb. For more information about .obb files, see this article.


  5. Enter release notes for the new version in the Version Notes input (optional).
    ​

  6. Click Upload.

πŸ’‘ Once the upload is complete, and provided it was successfully processed without any errors, the version history table in the Versions tab will update to show that this latest version is Available. At this point, you can install specific versions to specific devices or groups via Release Channels.


What are Android's requirements when uploading a new version of an app?

πŸ’‘ ArborXR enforces Android's versioning requirements similar to app stores like the Meta Quest Store and the Google Play Store. This ensures that app data is retained between app updates.

  1. The packageName of the new version must match the packageName of the previous version.

    • Unity: Player Settings > Other Settings > Identification > Package Name

    • Unreal: Project Settings > Android > Android Package Name

  2. The versionCode of the new version must be greater than the versionCode of the previous version. In other words, versionCode must be rolled forward.

    • Unity: Player Settings > Other Settings > Identification > Bundle Version Code

    • Unreal: Project Settings > Android > Store Version

  3. Sign the new version of your app with the same key that was used to sign the previous version. Create and use a custom keystore and ensure it's used by the entire Android development team and any build machine producing .apk files.

πŸ’‘ While not required, anytime you have a new version of an app and roll forward the versionCode, it is recommended to likewise roll forward the versionName following a numbering convention that makes sense for you and your dev team.

  • Unity: Player Settings > Other Settings > Identification > Version

  • Unreal: Project Settings > Android > Version Display Name


Can I deploy one version of my app on certain devices and a different version on others?

Yes. When adding apps to an individual ungrouped device or to a device group, you select the Release Channel to install as part of the process of adding the app.

  1. Navigate to the individual ungrouped device or the device group in question.

  2. Click on the Content tab.

  3. Select Add Apps.

  4. Click on the carrot icon within the Target Channel column to open the Release Channel selector modal.

  5. Within the Target Channel modal, select the desired Release Channel to add to the device or group.

πŸ’‘ By selecting Latest from the Target Channel selector modal, the individual ungrouped device or device group in question will automatically be updated with the latest version of the app in question and will automatically update anytime a version of the app is uploaded with a higher versionCode. Selecting any non-Latest Release Channel, on the other hand, will lock devices to the Target Version for that Release Channel and prevent automatic updates.


Can I roll back or roll forward versions of an app once the app has been deployed?

Yes.

  1. Navigate to the Content Library and select the app in question.

  2. Find the Release Channel you've deployed and want to change the version of.

  3. Click on the 3 dots next to that Release Channel's name, and click Edit.

  4. Change the Target Version to the version you want to roll back or forward to within this modal

  5. Click Apply Changes

After doing this, any device or device group that has this Release Channel will be changed to the new Target Version automatically.

πŸ’‘ By deploying a Latest Release Channel, the individual ungrouped device or device group in question will automatically be updated with the latest* version of the app in question and will automatically update anytime a version of the app with a higher versionCode is uploaded. Deploying any non-Latest Release Channel, on the other hand, will lock devices to the Target Version assigned to it and prevents automatic updates.


If I upload a new version (or build) of an app, what happens to the devices that have an older version of the same app?

It depends on which Release Channel you assigned to the device or device group.

Latest

If you selected a Latest Release Channel, the individual ungrouped device or device group in question will automatically update to the latest version of the app in question without any manual intervention.

πŸ’‘ Latest in this case refers to the version with the highest versionCode.

Non-Latest

If you assigned a non-Latest Release Channel, the individual ungrouped device or device group will not automatically update to the new version. If you need the device(s) to update to the new version, you can edit the Release Channel and modify it's Target Version to the version you want on your devices or device groups.


Can .obb files and .apk files be managed separately?

No. If your new version contains changes only to the .apk or only to the .obb expansion file, you must increment the versionCode of the .apk and upload both files together.

Did this answer your question?