Skip to main content

Bundle Files with App Builds

Josh Franzen avatar
Written by Josh Franzen
Updated this week

Overview

Upload addressable files (or Unity AssetBundles) alongside app builds to ArborXR and specify the exact installation directory for the bundled files. This eliminates the need for custom hosting servers and ensures that the correct assets are delivered seamlessly with every app version. When deployed via ArborXR, both the application and its dedicated content are installed together, guaranteeing an error-free experience before the app even launches. 

Key details of this feature include:

  • Each app build can have its own dedicated set of associated files, ensuring the correct components are always linked.

  • The APK and its addressable files can be uploaded via CLI.

  • When a release channel that targets a build with bundled files is shared with other organizations or assigned to devices, both the APK and its associated files are delivered together seamlessly.

  • For an optimal user experience, if the kiosk experience is configured to ArborXR Home, the app won't be available to launch within the headset until all bundled files are fully installed.


Upload Files with Builds

Option 1: CLI

Integrate our CLI into your CI/CD tool to automate uploads of both your apk and addressable files.

Option 2: Web Portal

  1. Navigate to the Content Library.

  2. Create a new managed app or click into an existing managed app.

  3. Click Upload Build.

  4. Drag and drop the APK or click Browse to select it from your PC's file system.

  5. Toggle on Add bundled files with build (optional).

  6. Click Select Files to upload individual files (like an OBB file). Click Select Folder to upload an entire folder of assets.

  7. For any files that are not OBB files, you must specify their base path (the destination where they will be written).

    • Example: If you want files written to the app's OBB folder, specify the path as Android/obb/<app package name>. OBB files are automatically deployed to the app's OBB folder and do not require a base path.​


      💡 While you can specify the exact installation directory for the bundled files, devices running Android 11 or higher may prevent ArborXR from installing files to other applications' internal storage (i.e. Android/data/{com.package.name}). In light of this, we recommend installing files to your app's OBB directory (i.e. Android/obb/{com.package.name}). Learn more.


  8. Enter release notes in the Release Notes text box (optional).

  9. Click Upload.

💡 Once the APK and all bundled files are uploaded successfully, you can manage the version through release channels just like any other version. When a release channel that targets a build with bundled files is shared with other organizations or assigned to devices, both the APK and its associated files are delivered together seamlessly.


Understanding File Installation Priority

ArborXR offers two primary methods for remotely installing files to your devices:

  1. Separate File Assignment: Upload files directly to the Files page, then manually assign them to devices or groups.

  2. Bundled File Assignment: Upload files alongside your app builds as part of the application package.

If the same file is assigned to the same device or group using both methods, the bundled file (Method 2) will always take precedence and be installed.


FAQs

If a release channel targets a build with bundled files and that release channel is assigned to devices, will the bundled files automatically be queued to install?

Yes. When a build with bundled files is assigned to devices, both the APK and its associated files are delivered together seamlessly.

If a release channel targets a build with bundled files and that release channel is shared with other organizations, will the bundled files automatically be shared?

Yes. When a build with bundled files is shared with other organizations, both the APK and its associated files are delivered together seamlessly.

When creating a new bundle, if I upload the same file or build that already exists in ArborXR, will it be re-uploaded?

No, ArborXR prevents redundant uploads by checking for matching content first. The exact process depends on how you are uploading:

  • Portal Upload: If you upload via the web portal, the system compares checksums of the new file against existing content during the process. If a match is found, the duplicate upload is skipped, and the existing file is simply referenced ("swapped in").

  • CLI Upload: If you use the CLI, the system performs a checksum comparison locally on your machine before initiating any network transfer. If a match exists, the upload command will complete immediately without sending any data to ArborXR.

Did this answer your question?