<!--
{
  "availability" : [
    "iOS: 11.3.0 -",
    "iPadOS: 11.3.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ARKit",
  "identifier" : "/documentation/ARKit/ARWorldTrackingConfiguration/detectionImages",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "ARKit"
    ],
    "preciseIdentifier" : "c:objc(cs)ARWorldTrackingConfiguration(py)detectionImages"
  },
  "title" : "detectionImages"
}
-->

# detectionImages

A set of images that ARKit searches for in the user’s environment.

```
var detectionImages: Set<ARReferenceImage>! { get set }
```

## Discussion

Add members to this set for each image that ARKit searches for in the user’s environment. When ARKit *detects* a matching image, the framework creates an [`ARImageAnchor`](/documentation/ARKit/ARImageAnchor) object and adds it to the session.

To define the reference images that this property contains, create an asset catalog in Xcode or create [`ARReferenceImage`](/documentation/ARKit/ARReferenceImage) objects programmatically. For more information, see [Detecting Images in an AR Experience](/documentation/ARKit/detecting-images-in-an-ar-experience).

If you set a nonzero value for [`maximumNumberOfTrackedImages`](/documentation/ARKit/ARWorldTrackingConfiguration/maximumNumberOfTrackedImages), ARKit enables image *tracking*, which continuously updates the transform for up to four of the reference image anchors as the session progresses. For an example, see [Tracking and altering images](/documentation/ARKit/tracking-and-altering-images).

### Limit Reference Images for Performance

Image detection accuracy and performance may decline as the number of images in this set increases. For best results, limit your detection image count to no more than around 100.

To detect more than 100 images, your app can allocate a certain amount of time for the first 100 images before moving on to the next 100, and so on. When you update the contents of this property, call [`run(_:options:)`](/documentation/ARKit/ARSession/run(_:options:)) again with your app’s configuration to effect the change.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)