arcore-unity-extensions icon indicating copy to clipboard operation
arcore-unity-extensions copied to clipboard

EarthManager.GeoSpatialModeSupported returning `Unsupported`

Open ahmed-shariff opened this issue 1 year ago • 4 comments

I am trying to get the geospatial api working on tablets. While my core works without a hitch on the smartphones I have testes so fat (Pixel 7, Samsung S20) I am getting an Unsupported error on my Samsung Galaxy Tab S6 Lite, even though its listed on the supported list of devices at https://developers.google.com/ar/devices

The code in question is:

FeatureSupported featureSupport = earthManager.IsGeospatialModeSupported(GeospatialMode.Enabled);

Please let me know if you need more information.

arcore-unity-extensition version: 1.40.0 Unity: 2022.3.9f

ahmed-shariff avatar Nov 10 '23 21:11 ahmed-shariff

Hey, same problem too! I have the same model and outputs the same error saying it's not supported then immedeately crashes the test app when opening it.

nykten avatar Nov 14 '23 18:11 nykten

For what its worth, I also found the following StackOverflow https://stackoverflow.com/questions/75100496/device-compatibility-with-geospatial-api

Using the ARCore supported devices list provided by Google, I'm testing an app that uses the Geospatial API. Testing on a OnePlus 6 produces no errors, however, when using a Samsung Galaxy Tab S6 Lite and a Lenovo Yoga Tab 11 there are issues when using Geospatial API despite both devices being listed as supported too.

I'd like to know if there is another list of supported or tested devices for the Geospatial API, or if additional configurations are needed for tablets.

When calling the function session.isGeospatialModeSupported(Config.GeospatialMode.ENABLED) using a Samsung Galaxy Tab S6 Lite and a Lenovo Yoga Tab 11, the return value is false. Proceeding with the configuration of the session

session.configure(
    config.apply {
        geospatialMode = Config.GeospatialMode.ENABLED
    }
)

Produces an error

################### Undecorated Trace Begin ################# INVALID_ARGUMENT: ARCoreError: third_party/arcore/ar/core/session.cc:482

ARCoreError: third_party/arcore/ar/geo/geoar_module.cc:314
Geospatial API is not supported on this device. [type.googleapis.com/util.ErrorSpacePayload='ArStatusErrorSpace::AR_ERROR_UNSUPPORTED_CONFIGURATION']
=== Source Location Trace: === 
third_party/arcore/ar/core/status.cc:171
third_party/arcore/ar/geo/geoar_module.cc:314
third_party/arcore/ar/core/session.cc:482`

ahmed-shariff avatar Nov 15 '23 07:11 ahmed-shariff

Hello, I am part of the ARCore team.

The information on https://developers.google.com/ar/devices may not be correct unfortunately, for some features of ARCore. The value from IsGeospatialModeSupported is the source of truth - whether Geospatial apis are supported on a device or not.

Specifically the Geospatial apis need a compass sensor to work. And tablet in question doesn't have one. You can add manifest entry uses-feature android:name="android.hardware.sensor.compass" android:required="true" to mark your app as incompatible on devices without this sensor.

kinjalbhavsar avatar Jan 10 '24 21:01 kinjalbhavsar

That is unfortunate. Thank you for clarifying this. We had procured devices based on the list on the website expecting them to work with Geospatial API. It would be great if the website can be updated to avoid such predicaments.

Are there any plans to support devices that may not have these sensors? atleast provide partial functionality?

ahmed-shariff avatar Jan 10 '24 22:01 ahmed-shariff