Migrate 2D apps to Quest devices
Updated: Dec 18, 2024
When migrating an existing Android app to the Meta Horizon Store, it is important to review the features and system capabilities used by your app.
For example, if your app had dependencies on Google Mobile Services (GMS) and other system/hardware dependencies such as access to the device camera, be aware that Quest does not support these features and your application will need to remove those dependencies to successfully run on the device. Apart from these dependencies, most native apps should be easy to test locally after sideloading onto your device.
Use the following steps to migrate your existing 2D app to the Meta Horizon Store:
- [Optional] With Product Flavor, a feature of Android to create versions of the app, developers can build a separate build variant that targets Meta Quest devices. This will help using the same Android codebase for deploying to both mobile and quest. For more details, see product flavors.
- The requirements to publish your app to the Meta Horizon store include a min-SDK of 29 and a target SDK of 32. See Manifest specification for release for the latest on these requirements.
- While migrating a 2D app, be aware that features and permissions might not be available on Quest devices (such as supporting Camera, Call API, Google Mobile Services, and more). These unavailable features should be disabled/replaced with viable toasts and changes.
- After ensuring your app runs on a Meta Quest device, you can also incorporate Quest specific APIs to improve your app functionality.
- Verify and clean up the user-permissions listed in the AndroidManifest, and make sure to remove the permissions that Quest does not currently support. Here’s a current list of blocked permissions for publishing to the Meta Horizon Store.
- Sign and sideload the APK to your Meta Quest device, and test.
Debugging and sideloading You can leverage existing tools like Android Studio to debug through app code (just as one would for Android development and debugging). And you can use the same IDEs for sideloading the app to your Meta Quest device.
You can also use the Android Debug Bridge (adb) tool to sideload your Android APKs:
adb install <path to apk>