If you need to use Android 11+ / API level 30+ and are getting that Google Play Services AR popup, you might need to add a “queries” section to your AndroidManifest. I’m working on an ARDK doc update that explains all of the steps, but the basic process is:
-
install gradle v5.6.4 or higher and configure your Unity project to use this version of gradle. Follow the steps at https://developers.google.com/ar/develop/java/enable-arcore for your version of Unity
-
Add a custom AndroidManifest.xml to your Unity project. You may need to do an initial Android build in Unity, and then copy the generated AndroidManifest.xml in your project’s
Temp/gradleOut/unityLibrary/src/main/
to your project’sAssets/Plugins/Android
directory. More details on how Unity builds generate the Android manifest are available here: https://docs.unity3d.com/Manual/android-manifest.html. -
Edit the custom AndroidManifest.xml and add a
<queries> <package android:name="com.google.ar.core" /> </queries>
section. Something like:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.unity3d.player" xmlns:tools="http://schemas.android.com/tools">
<application>
...various activity, intent, meta-data tags...
</application>
...various uses-feature and uses-permission tags...
<queries>
<package android:name="com.google.ar.core" />
</queries>
</manifest>
The black screen with API 29 is likely a different issue. If there’s a log display in the scene you’re building, I’d check that for any sort of warnings.