I want to get enum value about unsupported devices, not boolean

Thank you for providing a great SDK.

We use ARDK for our product but I have an request about a function of checking the devices whatever supported.

Every new device is released, we have to update your SDK version even if our product is not affected, because function of checking return “false” on new device like iphone14.

If return enum like “unknow”, I am possible to branch showing a message e.g.“It is possible that your device is not supported”


You may be interested in the ARHardwareCapability enum that is located in the Niantic.ARDK.AR.Configuration namespace.

The ARWorldTrackingConfiguration.CheckCapabilityAndSupport() method takes a callback method with a defined <ARHardwareCapability, ARSoftwareSupport> signature. Within such a callback method, you can branch your code while checking against the ARHardwareCapability enum in order to react to different hardware capability states.

An example of this functionality can be viewed on the Validate Device Requirements documentation page, under the Sample Code section here. The example callback method’s full signature is…

private void HandleCapabilityAndSupport(ARHardwareCapability hardwareCapability, ARSoftwareSupport softwareSupport)

…and it is passed into the ARWorldTrackingConfigurationFactory.CheckCapabilityAndSupport() method above during CheckARSupport().

Let us know if this is helpful for you. If you are still seeking additional functionality, we would be happy to file a feature request on your behalf.

Thank you for your reply.

If I would like to check whether it is possible to use segmentation on the device, I have to do two step?

First step is using “ARWorldTrackingConfigurationFactory.CheckCapabilityAndSupport”,
second is “CheckSemanticSegmentationSupport()”, isn’t it?

That’s correct. The intended workflow is to check for general device capability for AR world tracking while prompting the user to install and/or update any prerequisite software (such as ARCore) as necessary. Then, you may check the device for individual feature support that’s required for your application – such as semantic segmentation or meshing – and react accordingly.

Thank you.
Does It mean that old ARDK version dose not support segmentation on iphone 14?

Because “CheckSemanticSegmentationSupport() ” returns false.

Hmmm… that might be a bug. Could you provide us with the following information so that we can attempt to reproduce the issue?

Unity version: ____
ARDK version: ____
iPhone 14 iOS version: ____
Xcode version: ____
macOS version: ____