Upgrading unity and AR foundation, thousands of devices no longer supported on google play

We have an app on google play that uses AR as an integral part of it. Recently we had to update our unity and AR foundation, and when we made a new build and uploaded to google play, it now says that thousands of devices are no longer supported, because they don’t support android.hardware.camera.ar anymore! (screenshots attached)

In my ARCore setting in player settings, I already set my to “optional” but I set the AR Core requirement to “required” because i read that if that’s set to optional, then Google Play Store will not automatically install Google Play Services for AR with the app.

7947673--1017298--d3.png

More information:
Unity version: 2020.3.20
AR Foundation version: 4.1.9

Minimum API level: 24
Target API Level: 30

Is there any other setting I can change to support the other devices? or is this just part of upgrading that makes some devices not be supported anymore?

1 Like

You have ARCore Requirement set to Required.

According to Enable AR in your Android NDK app  |  ARCore  |  Google for Developers , the
android.hardware.camera.ar feature must be set to required for apps that require ARCore.

1 Like

um… so that means I’m doing everything correctly? :slight_smile:

I’m having similar problems. Using the same SDK and NDK links, I’m getting vastly different numbers of devices supported.for different builds. I can’t see what’s causing it.
My app needs AR so I select “required”.

Unity version: 2020.3.32
AR Foundation version: 4.1.9
ARCore XR plugin Ver 4.1.9

Minimum API level: 24
Target API Level: 30

Yes, by marking AR as required, you are limiting the pool of available devices to those which support ARCore. If you want compatibility with more devices, you can mark ARCore as optional and limit your application’s features for devices which do not support AR.

1 Like

I use AR Foundation GitHub - Unity-Technologies/arfoundation-samples: Example content for Unity projects based on AR Foundation and ARCore in unity 2021, my ar app works perfectly on deployment/preview on my samsung galaxy note 10 plus (Android 11). So I uploaded the bundle .abb (signed keystore) into google play store, everything seems to be ok with the app on playstore. The paradox is that when i download and launch the app from google play store won’t work on device. it doesn’t start/launch the AR camera or else (i get stuck black screen). I have no idea what it can be, because it works on my device. Thanks in advance for any tips and suggestions.
Very best, Chiara

Please file a bug: https://unity3d.com/unity/qa/bug-reporting

We are in a similar situation and cannot figure out why we have such a low number of supported devices. We noticed this recently when trying to publish an update for an older app, but after experimentation I’ve found that we get the same number of support devices (70!) even when creating a blank project with only ARCore.

This seems absurd.

I have created new projects with the AR template in both Unity 2021.3.38, and 2022.3.8. I’ve listed what I believe are the most relevant configs below. Those marked with * are the default configs with the template project.

  • XR Plug-in Management > ARCore = enabled *
  • XR Plug-in Management > ARCore > Depth API = optional
  • Player Settings > Graphics APIs = OpenGLES3 only *
  • Player Settings > Min API = 30
  • Player Settings > Target API = 34
  • Player Settings > Target architectures = ARMv7 and ARM64 *

Once uploaded to Google Play Console, we see only 70 supported devices. Please see the attached screenshot.

Please also see the attached AndroidManifest.txt file. This is a Git .patch file showing the lines added when enabling ARCore, and this file can be renamed with a .patch extension to get line highlighting in VS Code or a preferred viewer.

Note that if we disable ARCore via:

  • XR Plug-in Management > ARCore = disabled
    and reupload this results in 3556 supported devices, which is roughly the same number of devices I see when manually filtering the Google Play Consoe device catalogue with these requirements, ABIs, and SDKs.


9843402–1416420–AndroidManifest.txt (2.94 KB)

1 Like

Just bumping this post.

I can’t stress my previous answer enough.

Note our FAQ :

To be even more transparent, we have a budget of about 60 seconds per forum post per week that we can use to help people. This issue requires a bug report to be properly triaged. I can’t tell you what’s going on based on your description.

I wasn’t sure if this was a bug, or a misconfiguration on our side.

We have opened a support ticket regarding this, so if something comes of it I’ll follow up here with the conclusion/further insight in order to help other devs who may find this.

My guess is that there is something in the AR template that is tripping you up. This template is very out of date, or at least it was the last time I looked at it. (Perhaps confusingly, the AR Foundation team does not maintain the AR template.)

A good test would be to build a blank project from scratch – empty 3D template, remove default packages you don’t need, add ARCore XR Plug-in, set up your desired settings. That would be a good baseline.

Actually another recommendation – update your version of Unity to the most recent patch. There was a bug with Android manifests recently. This is probably the most helpful information you could give in your support ticket as well – a diff of the Android manifests between the two versions of your app you are working on.

Hello! It seems that it is mandatory that once every year, especially in May, there must be a post regarding this topic. So here I am, making the honors.

I’m also having issues when posting my very 1st app on the Android Console, I’m in the phase where 12 testers have to test my app for 14 days.

Everything works perfectly on iOS and the app is already in the Apple’s Appstore. However, it’s not the same scenario for my Android version.

During my local tests, I am able to smoothly test the app using an old Xiaomi Mi A3 (from 2019) smartphone, a Samsung (2025) smartphone and a Motorola (2023) smartphone and in all of them the app runs perfectly ok.

However, when I create the .aab bundle to upload it to the Google Play Console, I got the black screen and it does not work in some devices and in others (like the Xiaomi Mi A3) it says that it doesn’t even is compatible. How come that during local testings I can I can use almost any old or new device but when I try to use the app by downloading it from Google Play Console, everything fails or it doesn’t allow to install the app in devices that run the app in local testing?

I’ve tried the same configurations as Fuzzy-Logic previously remarked and it still fails.

What can it be? I’m using Unity 2022.3.48f1 on a Mac M1 Max and all the packages related to AR are up to date.

Is there a solution that has already been posted and that I haven’t found yet?

I appreciate any reply you may tell me.

Regards.

Hello everyone. Here I share what has worked for me:

The solution is the following if you are doing a project using Augmented Reality, then you deploy it in Google Console to test it and you get a black screen when you install it through the Google Console’s link:

In Project Settings > Player > Publishing Settings, deselect all the checkboxes inthe “Minify” section (Release, Debug and Split Application Binary must be deselected).

However, this will force you to do the following:

  1. First, create a bundle with the “Release” checkbox selected to create the mapping.txt file needed for google console (you can ignore the rest of the files created), since when you deselect all the checkboxes in Minify, this file is not created
  2. Create a new bundle but DO NOT SELECT ANY of the checkboxes (including “Release”) in Minify, as stated at the beginning of this text.

This is done to get all the necessary files (mapping.txt, symbols and aab) to upload it in Play Console.

Also, it is needed to re-adjust the project to make it have a size <200 MB, to prevent a size complaint from Google Console, since you can’t use the “Split Application Binary” in the Minify section.

And that’s it. It’s sad that nobody in the Unity staff helped for a long known issue when working in AR.

This solution worked well using Unity version 2022.3.48f1 and Unity 6.1.6f1.