05-13-2024 12:00 PM
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.
<?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="http://schemas.android.com/apk/res/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="com.google.android.gms.permission.AD_ID"/>
<uses-permission android:name="com.android.vending.BILLING"/>
<queries>
<intent>
<action android:name="com.android.vending.billing.InAppBillingService.BIND"/>
</intent>
</queries>
<application android:allowBackup="true" android:appComponentFactory="androidx.core.app.CoreComponentFactory" 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="com.samsung.android.vr.application.mode" 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="unity.auto-report-fully-drawn" 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">
<intent-filter>
<category android:name="android.intent.category.LAUNCHER"/>
<category android:name="com.oculus.intent.category.VR"/>
<action android:name="android.intent.action.MAIN"/>
</intent-filter>
<meta-data android:name="notch_support" android:value="true"/>
</activity>
<activity android:configChanges="fontScale|keyboard|keyboardHidden|locale|mcc|mnc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|touchscreen|uiMode" android:hardwareAccelerated="true" android:name="com.unity3d.services.ads.adunit.AdUnitActivity" 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="com.unity3d.services.ads.adunit.AdUnitTransparentActivity" 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="com.unity3d.services.ads.adunit.AdUnitTransparentSoftwareActivity" 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="com.unity3d.services.ads.adunit.AdUnitSoftwareActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"/>
<meta-data android:name="com.google.android.play.billingclient.version" android:value="5.2.1"/>
<activity android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize" android:exported="false" android:name="com.android.billingclient.api.ProxyBillingActivity" 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"/>
</activity>
<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"/>
</provider>
</application>
</manifest>
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:
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?
Solved! Go to Solution.
05-19-2024 09:37 AM
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.
05-19-2024 09:37 AM
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.