One of the largest time sinks in the development cycle is building and deploying changes to the Meta Quest headset for testing. The following best practices can help reduce this time. Some of these practices might require modifications to your project.
Link
Link is a useful and fast way to iterate on a project. With a headset connected to your computer, you can play in Unreal Editor and get the results directly in the headset while receiving input from the device. This is useful in cases where the changes are device-independent, such as logical code changes, asset positioning, and asset updates. The situations where it might not be beneficial are when iterating on elements that are device dependent, like shaders and rendering, or logic that is specific to the device.
The Meta XR Simulator simulates the Meta Quest headset and features directly on your development computer. It lets you iterate quickly on your project without the need to put on a headset. For mixed reality, it provides synthetic environments that make it very easy to test different sizes and layouts of rooms. This enables you to test changes that are device-agnostic, as well as verify app logic, repetitive movement/functionality, and mixed reality rooms.
Sometimes, it is necessary to deploy and test the project on the device. For example, platform-specific features, game performance, and graphics all benefit from on-device testing.
Unreal Engine provides multiple entry points to launch the project on device, such as Package APK, Quick Launch, Project Launcher, and Unreal Automation Tool. For more information, see “Build Operations” in the Unreal Engine documentation.
There are several options that can improve the iteration speed for deploying to the device.
Skip APK packaging
When iterating on code, you can speed up the deploy time by skipping the Gradle packaging step, reuse the previously built APK, and push the compiled libUnreal.so shared library directly to the device. This avoids the time-consuming APK rebuild for code-only changes. For more information, see Reduce App Deploy Time.
This option can drastically reduce the deploy time to seconds.
Editor UI: Meta XR Tools → Deploy compiled .so directly to device
In UE 5.4, Unreal Engine introduced the bDontBundleLibrariesInAPK option under Android platform settings ([/Script/AndroidRuntimeSettings.AndroidRuntimeSettings]), which achieves similar results. This is a standard Unreal Engine setting, not specific to the Meta XR Plugin.
Iterative deploy
When iterating on assets, choose only to deploy the files/packages that have been modified.
This option can drastically reduce the deploy time to seconds.
Note: In the UE 5.3.2 Oculus-VR fork release, the ability to incorporate iterative deploy with Cook-on-the-Fly (CotF) was enabled. This reduces iterative cook time with CotF by up to ~70% in our tests (see the “Benchmarking” section below).
Editor UI: Meta XR Tools → Enable Iterative Cook on the Fly
Iterative cooking
When cooking the assets, only cook the modified ones. This means that the on-device cooked assets are reused, removing unnecessary work from the cooker and device deploy.