Android build requires latest AR Services

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:

  1. 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

  2. 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’s Assets/Plugins/Android directory. More details on how Unity builds generate the Android manifest are available here: https://docs.unity3d.com/Manual/android-manifest.html.

  3. 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.

1 Like