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

# appClipCodeTrackingEnabled

A Boolean value that indicates if the framework searches the physical environment for App Clip Codes.

```
var appClipCodeTrackingEnabled: Bool { get set }
```

## Discussion

When this property’s value is <doc://com.apple.documentation/documentation/Swift/true>, the session delegate recieves an [`ARAppClipCodeAnchor`](/documentation/ARKit/ARAppClipCodeAnchor) via [`session(_:didAdd:)`](/documentation/ARKit/ARSessionDelegate/session(_:didAdd:)) for every App Clip Code that ARKit detects in the physical environment. The default value is <doc://com.apple.documentation/documentation/Swift/false>.

Before calling this function, check that the configuration supports App Clip Code tracking by calling [`supportsAppClipCodeTracking`](/documentation/ARKit/ARWorldTrackingConfiguration/supportsAppClipCodeTracking).

To avoid scanning a physical code that’s not connected to an App Clip, the system ensures that an app provides an App Clip before allowing the app to interact with App Clip Codes. Without providing an App Clip, the app can recognize codes in the environment by determining their physical location ([`transform`](/documentation/ARKit/ARAnchor/transform)), but code URLs ([`url`](/documentation/ARKit/ARAppClipCodeAnchor/url)) remain `nil`.

---

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)