Showing results for 
Search instead for 
Did you mean: 

Meta Quests (tried 2/Pro) won't launch my game's apk

Hello, after 2 full days of trying solutions, I need help. Making a project now in Unity 2023.2.19f, OpenXR Plugin version 1.10.0 (tried 1.11.0-exp.1), XR Interaction Toolkit 3.0.3, XR Plugin Management 4.4.0 so it's all up to date. In the package manager, it says I have Oculus XR Plugin 4.2.0 installed, but I only installed the Oculus LipSync package (Oculus Lipsync for Unity Development: Unity | Oculus Developers) and the one VR editor tool to help with building a store-ready androidmanifest.xml file.

My plan is to make a game using OpenXR from Unity to publish a cross-platform multiplayer game. I have an alpha channel set up on Meta Quest Developer Hub and published one stable scene a few months ago, but the game has grown and updates have taken place. I've been developing and testing just fine for the past few months for Windows and making regular builds that work great. A week ago I tried building for Android, and built successfully, but wouldn't open on either Meta Quest I own (2/Pro). For two full days I have read setup docs, answers in forums, and spent the time tweaking settings just how Meta wants it, but the situation still hasn't changed the error.

I made a new project quickly with the same base XR packages and the LipSync package, and it builds to the Quest just fine. Even making a new scene to mimic the brand new project in the original project won't build and run on Quest. I don't have any red warnings in the project validation, only two insignificant yellow warnings. I don't have Meta Core SDK installed in either because that was giving me some warnings and errors, and I don't need it. I can enter play mode while switched to the Android build settings. I used the OVR tool to generate the manifest and it's all good because it has the same stuff as my last multiplayer project that I completed and uploaded on AppLab, and I can even upload this build to my Alpha channel in Meta Quest Developer Hub without any errors or warnings about the manifest. But when I download the Alpha build to a quest account that's subscribed to it, it has the same problem of not launching. And I've logged in to other accounts or used different company or game names to test my apk from the unknown sources tab.

I'm not really sure how to use Logcat, but it pops up when I use the Build and Run feature, not really sure what it means and it doesn't seem to say anything meaningful because it successfully builds and copies to the device. I'll let you take a look in a screenshot attached. Some other details about the project are that I'm using Fusion 2.0 (no voice chat in-game yet), Hurricane VR + Hexabody VR + VRIK, and about 10 other assets for the editor or peripheral game features, these are packages I've owned and used for a least 1.5 years and I've had them in the project when building and launching an apk. I'm also using Plastic SCM aka Unity Version Control to backup the project and work with a small team, but it's been dozens of changes since the apk worked, this experience has taught me to build and try things more often on both platforms.

I've exhausted every setting and fix I've seen. I'll attach some photos of how I have things set up so that you can see I've enabled the best settings for what is called for.

Screenshot 2024-05-03 112827.pngScreenshot 2024-05-06 212108.pngScreenshot 2024-05-06 212335.pngScreenshot 2024-05-06 212357.png

Before I removed the Meta Core SDK packages, I was receiving some warnings about having OpenXR from unity and Meta's OpenXR Plug-in in the same project because it could cause some bugs or unexpected behavior. I no longer get the messages but here is what they were saying:
The Meta Quest Developer Hub said:
This APK includes, but not The Unity native OpenXR plugin is not yet fully production ready. If you are experiencing performance or compatibility issues, please enable the Oculus XR plugin (and disable the OpenXR plugin) in your project.
An old project validation check said:
It is not recommended to install Oculus XR Plugin and OpenXR Plugin (not to be confused with OpenXR, this is still a Meta package) at the same time, which may introduce unintentional conflicts. Click 'fix' to uninstall teh OpenXR Plugin. If you want to uninstall the Oculus XR Plugin, please use the package manager.

I'm not sure what "Failed to get real path of file ' ', err: No such file or directory" means from Logcat.
I'm also not sure what the Sample Loader One Custom is in my XR Plug-in Management.

I have configured Unity settings according to Meta's docs:
And built them according to Meta's docs too:
Unfortunately, neither a clean build or looking at the built manifest fixed the solution. I used APKTools to pull out this manifest, and I don't see anything out of the ordinary but please help me find this issue's source.


<?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="" android:compileSdkVersion="32" android:compileSdkVersionCodename="12" android:installLocation="auto" package="com.GAMERREALITIESLLC.Clayground" platformBuildVersionCode="32" platformBuildVersionName="12">
    <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:smallScreens="true" android:xlargeScreens="true"/>
    <supports-gl-texture android:name="GL_KHR_texture_compression_astc_ldr"/>
    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
    <uses-feature android:name="android.hardware.vr.headtracking" android:required="true" android:version="1"/>
    <uses-feature android:name="android.hardware.vulkan.version" android:required="true"/>
    <uses-feature android:name="android.hardware.microphone" android:required="false"/>
    <uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
    <uses-feature android:name="android.hardware.touchscreen.multitouch" android:required="false"/>
    <uses-feature android:name="android.hardware.touchscreen.multitouch.distinct" android:required="false"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name=""/>
    <uses-permission android:name=""/>
            <action android:name=""/>
    <application android:allowBackup="true" android:appComponentFactory="" android:extractNativeLibs="true" android:icon="@mipmap/app_icon" android:label="@string/app_name">
        <meta-data android:name="unityplayer.SkipPermissionsDialog" android:value="false"/>
        <meta-data android:name="" android:value="vr_only"/>
        <meta-data android:name="com.oculus.ossplash.background" android:value="black"/>
        <meta-data android:name="com.oculus.supportedDevices" android:value="quest2|questpro|eureka"/>
        <meta-data android:name="com.oculus.vr.focusaware" android:value="true"/>
        <meta-data android:name="unity.splash-mode" android:value="0"/>
        <meta-data android:name="unity.splash-enable" android:value="true"/>
        <meta-data android:name="unity.launch-fullscreen" android:value="true"/>
        <meta-data android:name="unity.render-outside-safearea" android:value="true"/>
        <meta-data android:name="notch.config" android:value="portrait|landscape"/>
        <meta-data android:name="" android:value="true"/>
        <meta-data android:name="unity.strip-engine-code" android:value="true"/>
        <activity android:configChanges="density|fontScale|keyboard|keyboardHidden|layoutDirection|locale|mcc|mnc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|touchscreen|uiMode" android:enabled="true" android:excludeFromRecents="true" android:exported="true" android:hardwareAccelerated="false" android:launchMode="singleTask" android:name="com.unity3d.player.UnityPlayerGameActivity" android:resizeableActivity="false" android:screenOrientation="landscape" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
                <category android:name="android.intent.category.LAUNCHER"/>
                <category android:name="com.oculus.intent.category.VR"/>
                <action android:name="android.intent.action.MAIN"/>
            <meta-data android:name="notch_support" android:value="true"/>
        <activity android:configChanges="fontScale|keyboard|keyboardHidden|locale|mcc|mnc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|touchscreen|uiMode" android:hardwareAccelerated="true" android:name="" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"/>
        <activity android:configChanges="fontScale|keyboard|keyboardHidden|locale|mcc|mnc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|touchscreen|uiMode" android:hardwareAccelerated="true" android:name="" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/>
        <activity android:configChanges="fontScale|keyboard|keyboardHidden|locale|mcc|mnc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|touchscreen|uiMode" android:hardwareAccelerated="false" android:name="" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/>
        <activity android:configChanges="fontScale|keyboard|keyboardHidden|locale|mcc|mnc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|touchscreen|uiMode" android:hardwareAccelerated="false" android:name="" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"/>
        <meta-data android:name="" android:value="5.2.1"/>
        <activity android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize" android:exported="false" android:name="" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
        <activity android:name="com.unity3d.player.UnityPlayerActivity">
            <meta-data android:name="com.oculus.vr.focusaware" android:value="true"/>
        <provider android:authorities="com.GAMERREALITIESLLC.Clayground.androidx-startup" android:exported="false" android:name="androidx.startup.InitializationProvider">
            <meta-data android:name="androidx.emoji2.text.EmojiCompatInitializer" android:value="androidx.startup"/>
            <meta-data android:name="androidx.lifecycle.ProcessLifecycleInitializer" android:value="androidx.startup"/>





I also have this small thing I wanted to bring up. Even though I removed the Meta SDK core package the samples folder stayed around, and so did these profiles:

Screenshot 2024-05-09 201417.png

These 9 are part of OpenXR Package Settings and I can't delete them even though they are the last trace of the Meta Core SDK package and threw a warning once recently that I caught. Do you have any more ideas on how I could resolve this?


Accepted Solutions


The fix was to disable Custom Main Manifest in Player, Android Tab, Publishing Settings. I had a lot of random problems with the Android Manifest building wrong so I went the custom route because I upload to App Lab, but something has improved about the automatic builder, maybe in OpenXR 1.11.0 which is great.

View solution in original post



The fix was to disable Custom Main Manifest in Player, Android Tab, Publishing Settings. I had a lot of random problems with the Android Manifest building wrong so I went the custom route because I upload to App Lab, but something has improved about the automatic builder, maybe in OpenXR 1.11.0 which is great.