549 lines
26 KiB
XML
549 lines
26 KiB
XML
|
<?xml version="1.0" encoding="utf-8"?>
|
||
|
<!--Oculus mobile plugin additions-->
|
||
|
<root xmlns:android="http://schemas.android.com/apk/res/android">
|
||
|
<!-- init section is always evaluated once per architecture -->
|
||
|
<init>
|
||
|
<log text="Oculus mobile init"/>
|
||
|
<setBool result="bSupported" value="false"/>
|
||
|
<isArch arch="armeabi-v7a">
|
||
|
<setBool result="bSupported" value="true"/>
|
||
|
</isArch>
|
||
|
<isArch arch="arm64-v8a">
|
||
|
<setBool result="bSupported" value="true"/>
|
||
|
</isArch>
|
||
|
|
||
|
<!-- remove Oculus Signature Files by default -->
|
||
|
<setBool result="bRemoveOSIG" value="true"/>
|
||
|
|
||
|
<!-- determine the XrApi libraries that need to be loaded -->
|
||
|
<setStringFromProperty result="XrApi" ini="Engine" section="/Script/OculusXRHMD.OculusXRHMDRuntimeSettings" property="XrApi" default="OVRPluginOpenXR"/>
|
||
|
<setBoolIsEqual result="bOVRPluginOpenXR" arg1="$S(XrApi)" arg2="OVRPluginOpenXR"/>
|
||
|
<setBoolIsEqual result="bNativeOpenXR" arg1="$S(XrApi)" arg2="NativeOpenXR"/>
|
||
|
|
||
|
<setBoolFromProperty result="bFocusAware" ini="Engine" section="/Script/OculusXRHMD.OculusXRHMDRuntimeSettings" property="bFocusAware" default="true"/>
|
||
|
|
||
|
<!-- get package for Meta Quest from AndroidRuntimeSettings -->
|
||
|
<setBoolFromProperty result="bPackageForMetaQuest" ini="Engine" section="/Script/AndroidRuntimeSettings.AndroidRuntimeSettings" property="bPackageForMetaQuest" default="false"/>
|
||
|
<!-- Backcompat for deprecated oculus device target setting -->
|
||
|
<setBoolFromPropertyContains result="bPackageForQuest1" ini="Engine" section="/Script/AndroidRuntimeSettings.AndroidRuntimeSettings" property="PackageForOculusMobile" contains="Quest"/>
|
||
|
<setBoolFromPropertyContains result="bPackageForQuest2" ini="Engine" section="/Script/AndroidRuntimeSettings.AndroidRuntimeSettings" property="PackageForOculusMobile" contains="Quest2"/>
|
||
|
<setBoolFromPropertyContains result="bPackageForQuestPro" ini="Engine" section="/Script/AndroidRuntimeSettings.AndroidRuntimeSettings" property="PackageForOculusMobile" contains="QuestPro"/>
|
||
|
<setBoolOr result="bPackageForMetaQuest" arg1="$B(bPackageForMetaQuest)" arg2="$B(bPackageForQuest1)"/>
|
||
|
<setBoolOr result="bPackageForMetaQuest" arg1="$B(bPackageForMetaQuest)" arg2="$B(bPackageForQuest2)"/>
|
||
|
<setBoolOr result="bPackageForMetaQuest" arg1="$B(bPackageForMetaQuest)" arg2="$B(bPackageForQuestPro)"/>
|
||
|
|
||
|
<!-- get supported oculus devices from OculusXRHMDRuntimeSettings -->
|
||
|
<setBoolFromPropertyContains result="bSupportMetaQuest" ini="Engine" section="/Script/OculusXRHMD.OculusXRHMDRuntimeSettings" property="SupportedDevices" contains="Quest"/>
|
||
|
<setBoolFromPropertyContains result="bSupportMetaQuest2" ini="Engine" section="/Script/OculusXRHMD.OculusXRHMDRuntimeSettings" property="SupportedDevices" contains="Quest2"/>
|
||
|
<setBoolFromPropertyContains result="bSupportMetaQuestPro" ini="Engine" section="/Script/OculusXRHMD.OculusXRHMDRuntimeSettings" property="SupportedDevices" contains="QuestPro"/>
|
||
|
<setBoolFromPropertyContains result="bSupportMetaQuest3" ini="Engine" section="/Script/OculusXRHMD.OculusXRHMDRuntimeSettings" property="SupportedDevices" contains="Quest3"/>
|
||
|
|
||
|
<setBoolFromProperty result="bShowLaunchImage" ini="Engine" section="/Script/AndroidRuntimeSettings.AndroidRuntimeSettings" property="bShowLaunchImage" default="false"/>
|
||
|
<setBoolFromProperty result="bRequiresSystemKeyboard" ini="Engine" section="/Script/OculusXRHMD.OculusXRHMDRuntimeSettings" property="bRequiresSystemKeyboard" default="false"/>
|
||
|
<setStringFromProperty result="HandTrackingSupport" ini="Engine" section="/Script/OculusXRHMD.OculusXRHMDRuntimeSettings" property="HandTrackingSupport" default="ControllersOnly"/>
|
||
|
<setStringFromProperty result="HandTrackingFrequency" ini="Engine" section="/Script/OculusXRHMD.OculusXRHMDRuntimeSettings" property="HandTrackingFrequency" default="LOW"/>
|
||
|
<setStringFromProperty result="HandTrackingVersion" ini="Engine" section="/Script/OculusXRHMD.OculusXRHMDRuntimeSettings" property="HandTrackingVersion" default="Default"/>
|
||
|
<setBoolIsEqual result="bHandTrackingVersionDefault" arg1="$S(HandTrackingVersion)" arg2="Default"/>
|
||
|
<setBoolIsEqual result="bHandTrackingVersionV1" arg1="$S(HandTrackingVersion)" arg2="V1"/>
|
||
|
<setBoolIsEqual result="bHandTrackingVersionV2" arg1="$S(HandTrackingVersion)" arg2="V2"/>
|
||
|
<setStringFromProperty result="ColorSpace" ini="Engine" section="/Script/OculusXRHMD.OculusXRHMDRuntimeSettings" property="ColorSpace" default="Rec_709"/>
|
||
|
<setBoolIsEqual result="bColorSpaceUnmanaged" arg1="$S(ColorSpace)" arg2="Unmanaged"/>
|
||
|
<setBoolIsEqual result="bColorSpaceRec2020" arg1="$S(ColorSpace)" arg2="Rec_2020"/>
|
||
|
<setBoolIsEqual result="bColorSpaceRec709" arg1="$S(ColorSpace)" arg2="Rec_709"/>
|
||
|
<setBoolIsEqual result="bColorSpaceRiftCV1" arg1="$S(ColorSpace)" arg2="Rift_CV1"/>
|
||
|
<setBoolIsEqual result="bColorSpaceRiftS" arg1="$S(ColorSpace)" arg2="Rift_S"/>
|
||
|
<setBoolIsEqual result="bColorSpaceQuest" arg1="$S(ColorSpace)" arg2="Quest"/>
|
||
|
<setBoolIsEqual result="bColorSpaceP3" arg1="$S(ColorSpace)" arg2="P3"/>
|
||
|
<setBoolIsEqual result="bColorSpaceAdobeRGB" arg1="$S(ColorSpace)" arg2="Adobe_RGB"/>
|
||
|
<setBoolFromProperty result="bInsightPassthroughEnabled" ini="Engine" section="/Script/OculusXRHMD.OculusXRHMDRuntimeSettings" property="bInsightPassthroughEnabled" default="false"/>
|
||
|
<setBoolFromProperty result="bAnchorSupportEnabled" ini="Engine" section="/Script/OculusXRHMD.OculusXRHMDRuntimeSettings" property="bAnchorSupportEnabled" default="false"/>
|
||
|
<setBoolFromProperty result="bAnchorSharingEnabled" ini="Engine" section="/Script/OculusXRHMD.OculusXRHMDRuntimeSettings" property="bAnchorSharingEnabled" default="false"/>
|
||
|
<setBoolFromProperty result="bSceneSupportEnabled" ini="Engine" section="/Script/OculusXRHMD.OculusXRHMDRuntimeSettings" property="bSceneSupportEnabled" default="false"/>
|
||
|
|
||
|
|
||
|
<setBoolFromProperty result="bSupportEyeTrackedFoveatedRendering" ini="Engine" section="/Script/OculusXRHMD.OculusXRHMDRuntimeSettings" property="bSupportEyeTrackedFoveatedRendering" default="false"/>
|
||
|
<setStringFromProperty result="ProcessorFavor" ini="Engine" section="/Script/OculusXRHMD.OculusXRHMDRuntimeSettings" property="ProcessorFavor" default="FavorEqually"/>
|
||
|
<setBoolIsEqual result="bProcessorFavorEqually" arg1="$S(ProcessorFavor)" arg2="FavorEqually"/>
|
||
|
<setStringFromProperty result="SystemSplashBackground" ini="Engine" section="/Script/OculusXRHMD.OculusXRHMDRuntimeSettings" property="SystemSplashBackground" default="Black"/>
|
||
|
<setBoolIsEqual result="bSystemSplashImageContextualPassthrough" arg1="$S(SystemSplashBackground)" arg2="Contextual"/>
|
||
|
<setBoolIsEqual result="bSystemSplashImageBlack" arg1="$S(SystemSplashBackground)" arg2="Black"/>
|
||
|
|
||
|
<!-- check for experimental feature support from config -->
|
||
|
<setBoolFromProperty result="bSupportExperimentalFeatures" ini="Engine" section="/Script/OculusXRHMD.OculusXRHMDRuntimeSettings" property="bSupportExperimentalFeatures" default="false"/>
|
||
|
|
||
|
<setBoolFromProperty result="bBodyTrackingEnabled" ini="Engine" section="/Script/OculusXRHMD.OculusXRHMDRuntimeSettings" property="bBodyTrackingEnabled" default="false"/>
|
||
|
<setBoolFromProperty result="bEyeTrackingEnabled" ini="Engine" section="/Script/OculusXRHMD.OculusXRHMDRuntimeSettings" property="bEyeTrackingEnabled" default="false"/>
|
||
|
<setBoolFromProperty result="bFaceTrackingEnabled" ini="Engine" section="/Script/OculusXRHMD.OculusXRHMDRuntimeSettings" property="bFaceTrackingEnabled" default="false"/>
|
||
|
<setBoolFromProperty result="bTileTurnOffEnabled" ini="Engine" section="/Script/OculusXRHMD.OculusXRHMDRuntimeSettings" property="bTileTurnOffEnabled" default="false"/>
|
||
|
|
||
|
<!-- get packaging for Oculus Mobile from ini and reset it if architecture not supported -->
|
||
|
<if condition="bPackageForMetaQuest">
|
||
|
<true>
|
||
|
<if condition="bSupported">
|
||
|
<true>
|
||
|
<if condition="Distribution">
|
||
|
<true>
|
||
|
<setBoolFromProperty result="bRemoveOSIG" ini="Engine" section="/Script/AndroidRuntimeSettings.AndroidRuntimeSettings" property="bRemoveOSIG" default="false"/>
|
||
|
<if condition="bRemoveOSIG">
|
||
|
<true>
|
||
|
<log text="Oculus mobile entitlement checks are enabled"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
</true>
|
||
|
<false>
|
||
|
<!-- if not using entitlement checks need to keep the osig files -->
|
||
|
<setBool result="bRemoveOSIG" value="false"/>
|
||
|
</false>
|
||
|
</if>
|
||
|
</true>
|
||
|
<false>
|
||
|
<setBool result="bPackageForMetaQuest" value="false"/>
|
||
|
<log text="Oculus mobile not supported for this architecture, disabled."/>
|
||
|
</false>
|
||
|
</if>
|
||
|
</true>
|
||
|
</if>
|
||
|
|
||
|
<if condition="bRemoveOSIG">
|
||
|
<true>
|
||
|
<log text="Oculus Signature Files (osig) will be removed from APK"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
|
||
|
<!-- package for Oculus and for distribution -->
|
||
|
<setBool result="bOculusDistribution" value="false"/>
|
||
|
<if condition="bPackageForMetaQuest">
|
||
|
<true>
|
||
|
<isDistribution>
|
||
|
<setBool result="bOculusDistribution" value="true"/>
|
||
|
<log text="Building with Oculus mobile for distribution"/>
|
||
|
</isDistribution>
|
||
|
</true>
|
||
|
</if>
|
||
|
|
||
|
<!-- entitlements check if package Oculus for distribution and removing OSIGs -->
|
||
|
<setBoolAnd result="bEntitlementCheck" arg1="$B(bRemoveOSIG)" arg2="$B(bOculusDistribution)"/>
|
||
|
</init>
|
||
|
|
||
|
<!-- optional updates applied to AndroidManifest.xml -->
|
||
|
<androidManifestUpdates>
|
||
|
<if condition="bOculusDistribution">
|
||
|
<true>
|
||
|
<!-- distribution builds can install internal or SD card -->
|
||
|
<addAttribute tag="manifest" name="android:installLocation" value="auto"/>
|
||
|
|
||
|
<!-- update the GameActivity activity -->
|
||
|
<loopElements tag="activity">
|
||
|
<setStringFromAttribute result="activityName" tag="$" name="android:name"/>
|
||
|
<setBoolIsEqual result="bGameActivity" arg1="$S(activityName)" arg2="com.epicgames.unreal.GameActivity"/>
|
||
|
<if condition="bGameActivity">
|
||
|
<true>
|
||
|
<!-- do not want application to show in recents -->
|
||
|
<addAttribute tag="$" name="android:excludeFromRecents" value="true"/>
|
||
|
|
||
|
<!-- distribution builds should not be launched from home screen so remove LAUNCHER -->
|
||
|
<loopElements tag="category">
|
||
|
<setStringFromAttribute result="categoryName" tag="$" name="android:name"/>
|
||
|
<setBoolIsEqual result="bLauncher" arg1="$S(categoryName)" arg2="android.intent.category.LAUNCHER"/>
|
||
|
<if condition="bLauncher">
|
||
|
<true>
|
||
|
<removeElement tag="$"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
</loopElements>
|
||
|
|
||
|
<!-- add INFO intent category instead -->
|
||
|
<setElement result="intentInfo" value="category"/>
|
||
|
<addAttribute tag="$intentInfo" name="android:name" value="android.intent.category.INFO"/>
|
||
|
<addElement tag="intent-filter" name="intentInfo"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
</loopElements>
|
||
|
</true>
|
||
|
</if>
|
||
|
<setBool result="bOculus6Dof" value="$B(bPackageForMetaQuest)"/>
|
||
|
<if condition="bPackageForMetaQuest">
|
||
|
<true>
|
||
|
<if condition="bOculusDistribution">
|
||
|
<false>
|
||
|
<!-- Add Extlib Flag -->
|
||
|
<setElement result="extlib" value="meta-data"/>
|
||
|
<addAttribute tag="$extlib" name="android:name" value="com.oculus.extlib"/>
|
||
|
<addAttribute tag="$extlib" name="android:value" value="true"/>
|
||
|
<addElement tag="application" name="extlib"/>
|
||
|
</false>
|
||
|
</if>
|
||
|
</true>
|
||
|
</if>
|
||
|
|
||
|
<!-- Add Quest Specific Flags -->
|
||
|
<if condition="bOculus6Dof">
|
||
|
<true>
|
||
|
<addFeature android:name="android.hardware.vr.headtracking" android:version="1" android:required="true"/>
|
||
|
|
||
|
<!-- Add Hand Tracking Flag -->
|
||
|
<setBoolIsEqual result="bHandsOnly" arg1="$S(HandTrackingSupport)" arg2="HandsOnly"/>
|
||
|
<setBoolIsEqual result="bControllersAndHands" arg1="$S(HandTrackingSupport)" arg2="ControllersAndHands"/>
|
||
|
<setBoolOr result="bEnableHandTracking" arg1="$B(bHandsOnly)" arg2="$B(bControllersAndHands)"/>
|
||
|
<if condition="bEnableHandTracking">
|
||
|
<true>
|
||
|
<addPermission android:name="com.oculus.permission.HAND_TRACKING"/>
|
||
|
<addFeature android:name="oculus.software.handtracking" android:required="$B(bHandsOnly)"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<!-- Add Passthrough flag-->
|
||
|
<if condition="bInsightPassthroughEnabled">
|
||
|
<true>
|
||
|
<addFeature android:name="com.oculus.feature.PASSTHROUGH" android:required="true"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<!-- Add Eye Tracking flags-->
|
||
|
<setBool result="bEyeTrackingFeature" value="false"/>
|
||
|
<setBoolOr result="bEyeTrackingFeature" arg1="$B(bEyeTrackingFeature)" arg2="$B(bSupportEyeTrackedFoveatedRendering)"/>
|
||
|
<setBoolOr result="bEyeTrackingFeature" arg1="$B(bEyeTrackingFeature)" arg2="$B(bEyeTrackingEnabled)"/>
|
||
|
<!-- Check for other features that require eye tracking here -->
|
||
|
<if condition="bEyeTrackingFeature">
|
||
|
<true>
|
||
|
<log text="Adding eye tracking feature and permission tags to manifest"/>
|
||
|
<addPermission android:name="com.oculus.permission.EYE_TRACKING"/>
|
||
|
<addFeature android:name="oculus.software.eye_tracking" android:required="false"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<!-- Add Body Tracking flags-->
|
||
|
<if condition="bBodyTrackingEnabled">
|
||
|
<true>
|
||
|
<log text="Adding body tracking feature and permission tags to manifest"/>
|
||
|
<addPermission android:name="com.oculus.permission.BODY_TRACKING"/>
|
||
|
<addFeature android:name="com.oculus.software.body_tracking" android:required="true"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<!-- Add Face Tracking flags-->
|
||
|
<if condition="bFaceTrackingEnabled">
|
||
|
<true>
|
||
|
<log text="Adding face tracking feature and permission tags to manifest"/>
|
||
|
<addPermission android:name="com.oculus.permission.FACE_TRACKING"/>
|
||
|
<addPermission android:name="android.permission.RECORD_AUDIO"/>
|
||
|
<addFeature android:name="oculus.software.face_tracking" android:required="true"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<!-- Add Experimental Features flag-->
|
||
|
<if condition="bSupportExperimentalFeatures">
|
||
|
<true>
|
||
|
<log text="Adding experimental feature tag to manifest"/>
|
||
|
<addFeature android:name="com.oculus.experimental.enabled" android:required="true"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<!-- Add Flags for Spatial Anchors-->
|
||
|
<if condition="bAnchorSupportEnabled">
|
||
|
<true>
|
||
|
<addPermission android:name="com.oculus.permission.USE_ANCHOR_API"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<!-- Add Flag for Shared Anchors -->
|
||
|
<if condition="bAnchorSharingEnabled">
|
||
|
<true>
|
||
|
<addPermission android:name="com.oculus.permission.IMPORT_EXPORT_IOT_MAP_DATA"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<!-- Add Flags for Scene-->
|
||
|
<if condition="bSceneSupportEnabled">
|
||
|
<true>
|
||
|
<addPermission android:name="com.oculus.permission.USE_SCENE"/>
|
||
|
<addPermission android:name="com.oculus.permission.SCENE_OBJECT_TRACKING"/>
|
||
|
<addPermission android:name="com.oculus.permission.PLANE_TRACKING"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
|
||
|
|
||
|
</true>
|
||
|
</if>
|
||
|
|
||
|
<!-- Add Activity Specific Flags -->
|
||
|
<loopElements tag="activity">
|
||
|
<setStringFromAttribute result="activityName" tag="$" name="android:name"/>
|
||
|
<setBoolIsEqual result="bGameActivity" arg1="$S(activityName)" arg2="com.epicgames.unreal.GameActivity"/>
|
||
|
<if condition="bGameActivity">
|
||
|
<true>
|
||
|
<!-- Add VR Intent Filter, Permissions, and Features -->
|
||
|
<if condition="bPackageForMetaQuest">
|
||
|
<true>
|
||
|
<addFeature android:name="android.hardware.usb.host"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
|
||
|
<!-- Quest Specific Activity Tags -->
|
||
|
<if condition="bOculus6Dof">
|
||
|
<true>
|
||
|
<!-- Add System Keyboard Flag -->
|
||
|
<if condition="bFocusAware">
|
||
|
<true>
|
||
|
<if condition="bRequiresSystemKeyboard">
|
||
|
<true>
|
||
|
<addFeature android:name="oculus.software.overlay_keyboard" android:required="false"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
</true>
|
||
|
</if>
|
||
|
</true>
|
||
|
</if>
|
||
|
</true>
|
||
|
</if>
|
||
|
</loopElements>
|
||
|
|
||
|
<!-- Add Application Specific Flags -->
|
||
|
<loopElements tag="application">
|
||
|
<!-- Add SupportedDevices Tag -->
|
||
|
<setString result="devicesString" value=""/>
|
||
|
<if condition="bSupportMetaQuest">
|
||
|
<true>
|
||
|
<setStringAdd result="devicesString" arg1="$S(devicesString)" arg2="quest|"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<if condition="bSupportMetaQuest2">
|
||
|
<true>
|
||
|
<setStringAdd result="devicesString" arg1="$S(devicesString)" arg2="quest2|"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<if condition="bSupportMetaQuestPro">
|
||
|
<true>
|
||
|
<setStringAdd result="devicesString" arg1="$S(devicesString)" arg2="cambria|"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<if condition="bSupportMetaQuest3">
|
||
|
<true>
|
||
|
<setStringAdd result="devicesString" arg1="$S(devicesString)" arg2="eureka|"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<setIntLength result="devicesStringLength" source="$S(devicesString)"/>
|
||
|
<setBoolIsGreater result="bDevicesSupported" arg1="$I(devicesStringLength)" arg2="0"/>
|
||
|
<if condition="bDevicesSupported">
|
||
|
<true>
|
||
|
<loopElements tag="meta-data">
|
||
|
<setStringFromAttribute result="nameString" tag="$" name="android:name"/>
|
||
|
<setBoolIsEqual result="bIsSupportedDevices" arg1="$S(nameString)" arg2="com.oculus.supportedDevices"/>
|
||
|
<if condition="bIsSupportedDevices">
|
||
|
<true>
|
||
|
<setStringFromAttribute result="existingDevicesString" tag="$" name="android:value"/>
|
||
|
<log text="Found existing Meta Quest supported devices tag: $S(existingDevicesString)"/>
|
||
|
<setStringAdd result="devicesString" arg1="$S(existingDevicesString)" arg2="|$S(devicesString)"/>
|
||
|
<setIntLength result="devicesStringLength" source="$S(devicesString)"/>
|
||
|
<removeElement tag="$"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
</loopElements>
|
||
|
<setElement result="supportedDevices" value="meta-data"/>
|
||
|
<addAttribute tag="$supportedDevices" name="android:name" value="com.oculus.supportedDevices"/>
|
||
|
<setIntSubtract result="devicesStringLength" arg1="$I(devicesStringLength)" arg2="1"/>
|
||
|
<setStringSubstring result="devicesString" source="$S(devicesString)" start="0" length="$I(devicesStringLength)"/>
|
||
|
<log text="Adding Meta Quest supported devices tag: $S(devicesString)"/>
|
||
|
<addAttribute tag="$supportedDevices" name="android:value" value="$S(devicesString)"/>
|
||
|
<addElement tag="application" name="supportedDevices"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
|
||
|
<!-- Add Hand Tracking Frequency -->
|
||
|
<if condition="bEnableHandTracking">
|
||
|
<true>
|
||
|
<setElement result="handTrackingFrequency" value="meta-data"/>
|
||
|
<addAttribute tag="$handTrackingFrequency" name="android:name" value="com.oculus.handtracking.frequency"/>
|
||
|
<addAttribute tag="$handTrackingFrequency" name="android:value" value="$S(HandTrackingFrequency)"/>
|
||
|
<addElement tag="application" name="handTrackingFrequency"/>
|
||
|
<if condition="bHandTrackingVersionDefault">
|
||
|
<false>
|
||
|
<if condition="bHandTrackingVersionV1">
|
||
|
<true>
|
||
|
<setElement result="handTrackingVersion" value="meta-data"/>
|
||
|
<addAttribute tag="$handTrackingVersion" name="android:name" value="com.oculus.handtracking.version"/>
|
||
|
<addAttribute tag="$handTrackingVersion" name="android:value" value="V1.0"/>
|
||
|
<addElement tag="application" name="handTrackingVersion"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<if condition="bHandTrackingVersionV2">
|
||
|
<true>
|
||
|
<setElement result="handTrackingVersion" value="meta-data"/>
|
||
|
<addAttribute tag="$handTrackingVersion" name="android:name" value="com.oculus.handtracking.version"/>
|
||
|
<addAttribute tag="$handTrackingVersion" name="android:value" value="V2.0"/>
|
||
|
<addElement tag="application" name="handTrackingVersion"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
</false>
|
||
|
</if>
|
||
|
</true>
|
||
|
</if>
|
||
|
|
||
|
|
||
|
<!-- Add System Splash Image Background -->
|
||
|
<setString result="splashBackground" value=""/>
|
||
|
<if condition="bSystemSplashImageContextualPassthrough">
|
||
|
<true>
|
||
|
<setString result="splashBackground" value="passthrough-contextual"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<if condition="bSystemSplashImageBlack">
|
||
|
<true>
|
||
|
<setString result="splashBackground" value="black"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<setIntLength result="splashBackgroundLength" source="$S(splashBackground)"/>
|
||
|
<setBoolIsGreater result="bHasSplashBackground" arg1="$I(splashBackgroundLength)" arg2="0"/>
|
||
|
<if condition="bHasSplashBackground">
|
||
|
<true>
|
||
|
<setElement result="contextualPassthrough" value="meta-data"/>
|
||
|
<addAttribute tag="$contextualPassthrough" name="android:name" value="com.oculus.ossplash.background"/>
|
||
|
<addAttribute tag="$contextualPassthrough" name="android:value" value="$S(splashBackground)"/>
|
||
|
<addElement tag="application" name="contextualPassthrough"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
|
||
|
|
||
|
<!-- Add Oculus Splash Screen -->
|
||
|
<if condition="bShowLaunchImage">
|
||
|
<true>
|
||
|
<setElement result="showOculusSplash" value="meta-data"/>
|
||
|
<addAttribute tag="$showOculusSplash" name="android:name" value="com.oculus.ossplash"/>
|
||
|
<addAttribute tag="$showOculusSplash" name="android:value" value="true"/>
|
||
|
<addElement tag="application" name="showOculusSplash"/>
|
||
|
|
||
|
<!-- Add Oculus Splash Screen colorspace setting -->
|
||
|
<setElement result="oculusSplashColorspace" value="meta-data"/>
|
||
|
<addAttribute tag="$oculusSplashColorspace" name="android:name" value="com.oculus.ossplash.colorspace"/>
|
||
|
<if condition="bColorSpaceUnmanaged">
|
||
|
<true>
|
||
|
<addAttribute tag="$oculusSplashColorspace" name="android:value" value="!Unmanaged"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<if condition="bColorSpaceRec2020">
|
||
|
<true>
|
||
|
<addAttribute tag="$oculusSplashColorspace" name="android:value" value="Rec.2020"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<if condition="bColorSpaceRec709">
|
||
|
<true>
|
||
|
<addAttribute tag="$oculusSplashColorspace" name="android:value" value="Rec.709"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<if condition="bColorSpaceRiftCV1">
|
||
|
<true>
|
||
|
<addAttribute tag="$oculusSplashColorspace" name="android:value" value="!RiftCV1"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<if condition="bColorSpaceRiftS">
|
||
|
<true>
|
||
|
<addAttribute tag="$oculusSplashColorspace" name="android:value" value="!RiftS"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<if condition="bColorSpaceQuest">
|
||
|
<true>
|
||
|
<addAttribute tag="$oculusSplashColorspace" name="android:value" value="!Quest"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<if condition="bColorSpaceP3">
|
||
|
<true>
|
||
|
<addAttribute tag="$oculusSplashColorspace" name="android:value" value="!P3"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<if condition="bColorSpaceAdobeRGB">
|
||
|
<true>
|
||
|
<addAttribute tag="$oculusSplashColorspace" name="android:value" value="!Adobe"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<addElement tag="application" name="oculusSplashColorspace"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
|
||
|
<!-- Add tradeCpuForGpuAmount Amount -->
|
||
|
<if condition="bProcessorFavorEqually">
|
||
|
<false>
|
||
|
<setBoolIsEqual result="bFavorGPU" arg1="$S(ProcessorFavor)" arg2="FavorGPU"/>
|
||
|
<setBoolIsEqual result="bFavorCPU" arg1="$S(ProcessorFavor)" arg2="FavorCPU"/>
|
||
|
<setElement result="tradeCpuForGpuAmount" value="meta-data"/>
|
||
|
<addAttribute tag="$tradeCpuForGpuAmount" name="android:name" value="com.oculus.trade_cpu_for_gpu_amount"/>
|
||
|
<if condition="bFavorGPU">
|
||
|
<true>
|
||
|
<addAttribute tag="$tradeCpuForGpuAmount" name="android:value" value="1"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<if condition="bFavorCPU">
|
||
|
<true>
|
||
|
<addAttribute tag="$tradeCpuForGpuAmount" name="android:value" value="-1"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<addElement tag="application" name="tradeCpuForGpuAmount"/>
|
||
|
</false>
|
||
|
</if>
|
||
|
|
||
|
<!-- Add Tile Turn Off -->
|
||
|
<setElement result="tileTurnOffEnabled" value="meta-data"/>
|
||
|
<addAttribute tag="$tileTurnOffEnabled" name="android:name" value="com.oculus.foveation.tile_turn_off"/>
|
||
|
<addAttribute tag="$tileTurnOffEnabled" name="android:value" value="$B(bTileTurnOffEnabled)"/>
|
||
|
<addElement tag="application" name="tileTurnOffEnabled"/>
|
||
|
</loopElements>
|
||
|
|
||
|
</androidManifestUpdates>
|
||
|
|
||
|
<!-- optional additions to proguard -->
|
||
|
<proguardAdditions>
|
||
|
<insert>
|
||
|
-keep class com.oculus.** {
|
||
|
*;
|
||
|
}
|
||
|
-keep class android.app.** {
|
||
|
*;
|
||
|
}
|
||
|
</insert>
|
||
|
</proguardAdditions>
|
||
|
|
||
|
<!-- optional files or directories to copy to Intermediate/Android/APK -->
|
||
|
<resourceCopies>
|
||
|
<isArch arch="arm64-v8a">
|
||
|
<if condition="bOVRPluginOpenXR">
|
||
|
<true>
|
||
|
<log text="Copying libopenxr_loader.so"/>
|
||
|
<copyFile src="$S(EngineDir)/Source/ThirdParty/Oculus/OculusOpenXRLoader/OculusOpenXRLoader/Lib/arm64-v8a/libopenxr_loader.so" dst="$S(BuildDir)/libs/arm64-v8a/libopenxr_loader.so"/>
|
||
|
<log text="Copying OpenXR libOVRPlugin.so"/>
|
||
|
<copyFile src="$S(PluginDir)/../ThirdParty/OVRPlugin/OVRPlugin/Lib/arm64-v8a/OpenXR/libOVRPlugin.so" dst="$S(BuildDir)/libs/arm64-v8a/libOVRPlugin.so"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<if condition="bNativeOpenXR">
|
||
|
<true>
|
||
|
<log text="Copying libopenxr_loader.so"/>
|
||
|
<copyFile src="$S(EngineDir)/Source/ThirdParty/Oculus/OculusOpenXRLoader/OculusOpenXRLoader/Lib/arm64-v8a/libopenxr_loader.so" dst="$S(BuildDir)/libs/arm64-v8a/libopenxr_loader.so"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
</isArch>
|
||
|
|
||
|
<copyFile src="$S(PluginDir)/../ThirdParty/OVRPlugin/OVRPlugin/ExtLibs/SystemUtils.jar" dst="$S(BuildDir)/libs/SystemUtils.jar"/>
|
||
|
|
||
|
<if condition="bEntitlementCheck">
|
||
|
<true>
|
||
|
<copyFile src="$S(PluginDir)/../ThirdParty/OVRPlugin/OVRPlugin/ExtLibs/vrplatlib.jar" dst="$S(BuildDir)/libs/vrplatlib.jar"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
|
||
|
<if condition="bRemoveOSIG">
|
||
|
<true>
|
||
|
<deleteFiles filespec="assets/oculussig_*"/>
|
||
|
</true>
|
||
|
</if>
|
||
|
</resourceCopies>
|
||
|
|
||
|
<!-- optional libraries to load in GameActivity.java before libUnreal.so -->
|
||
|
<soLoadLibrary>
|
||
|
<!-- need this if plugin enabled and supported architecture, even if not packaged for Oculus mobile -->
|
||
|
<if condition="bSupported">
|
||
|
<true>
|
||
|
<if condition="bOVRPluginOpenXR">
|
||
|
<true>
|
||
|
<loadLibrary name="openxr_loader" failmsg="openxr_loader library not loaded and may be required for Oculus VR."/>
|
||
|
<loadLibrary name="OVRPlugin" failmsg="OVRPlugin library not loaded and may be required for Oculus VR."/>
|
||
|
</true>
|
||
|
</if>
|
||
|
<if condition="bNativeOpenXR">
|
||
|
<true>
|
||
|
<loadLibrary name="openxr_loader" failmsg="openxr_loader library not loaded and may be required for Oculus VR."/>
|
||
|
</true>
|
||
|
</if>
|
||
|
</true>
|
||
|
</if>
|
||
|
</soLoadLibrary>
|
||
|
</root>
|