# Class ARCapabilities

java.lang.Object
com.codename1.ar.ARCapabilities

public final class ARCapabilities extends Object
Describes which AR features the current device supports. Individual features are hardware-gated on both platforms - for example face tracking needs a capable front camera - so check the specific capability before opening a session in that mode. Obtain through `AR#getCapabilities()`.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final ARCapabilities`
  `UNSUPPORTED`
  A capabilities instance with every feature unsupported, returned on platforms without an AR backend.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ARCapabilities(boolean worldTracking, boolean planeDetection, boolean imageTracking, boolean faceTracking, boolean lightEstimation)`
  Creates a capabilities descriptor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `isFaceTrackingSupported()`
  True when face tracking (`ARTrackingMode#FACE`) is supported on this device.
  `boolean`
  `isImageTrackingSupported()`
  True when reference image detection is supported.
  `boolean`
  `isLightEstimationSupported()`
  True when the session can estimate real-world lighting.
  `boolean`
  `isPlaneDetectionSupported()`
  True when plane detection is supported in world tracking sessions.
  `boolean`
  `isWorldTrackingSupported()`
  True when world tracking (`ARTrackingMode#WORLD`) is supported.

  ### Methods inherited from class Object

  `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### UNSUPPORTED

    public static final ARCapabilities UNSUPPORTED
    A capabilities instance with every feature unsupported, returned on platforms without an AR backend.

- ## Constructor Details

  - ### ARCapabilities

    public ARCapabilities(boolean worldTracking, boolean planeDetection, boolean imageTracking, boolean faceTracking, boolean lightEstimation)
    Creates a capabilities descriptor. Intended for platform implementations and tests; applications obtain capabilities through `AR#getCapabilities()`.

- ## Method Details

  - ### isWorldTrackingSupported

    public boolean isWorldTrackingSupported()
    True when world tracking (`ARTrackingMode#WORLD`) is supported.

  - ### isPlaneDetectionSupported

    public boolean isPlaneDetectionSupported()
    True when plane detection is supported in world tracking sessions.

  - ### isImageTrackingSupported

    public boolean isImageTrackingSupported()
    True when reference image detection is supported.

  - ### isFaceTrackingSupported

    public boolean isFaceTrackingSupported()
    True when face tracking (`ARTrackingMode#FACE`) is supported on this device.

  - ### isLightEstimationSupported

    public boolean isLightEstimationSupported()
    True when the session can estimate real-world lighting.