[EDIT: This crashes a lot in builds from one project and builds from the other don’t load at all]
If I use the linked file above I get errors, but I have a fix that worked.
Save the following as “\Program Files\Epic Games\UE_5.0\Engine\Plugins\Runtime\OpenXR\OculusOpenXRLoader_APL.xml”.
<?xml version="1.0" encoding="utf-8"?>
<!--LibOVRPlatform plugin additions-->
<root xmlns:android="http://schemas.android.com/apk/res/android">
<!-- init section is always evaluated once per architecture -->
<init>
<log text="OculusOpenXRLoader"/>
<setBool result="bCpuArchSupported" value="false"/>
<isArch arch="arm64-v8a">
<setBool result="bCpuArchSupported" value="true"/>
</isArch>
<setBoolFromPropertyContains result="bPackageForOculusQuest" ini="Engine" section="/Script/AndroidRuntimeSettings.AndroidRuntimeSettings" property="PackageForOculusMobile" contains="Quest"/>
<setBoolFromPropertyContains result="bPackageForOculusQuest2" ini="Engine" section="/Script/AndroidRuntimeSettings.AndroidRuntimeSettings" property="PackageForOculusMobile" contains="Quest2"/>
<setBoolOr result="bPackageForOculusMobile" arg1="$B(bPackageForOculusQuest)" arg2="$B(bPackageForOculusQuest2)"/>
<setBoolAnd result="bPackageForOculusQuestAndQuest2" arg1="$B(bPackageForOculusQuest)" arg2="$B(bPackageForOculusQuest2)"/>
<if condition="bCpuArchSupported">
<false>
<setBool result="bPackageForOculusMobile" value="false"/>
<setBool result="bPackageForOculusQuestAndQuest2" value="false"/>
</false>
</if>
</init>
</root>
Cheers,
Sam