<!--
{
  "availability" : [
    "iOS: 12.0.0 -",
    "iPadOS: 12.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ARKit",
  "identifier" : "/documentation/ARKit/ARWorldTrackingConfiguration/EnvironmentTexturing-swift.enum",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration",
  "symbol" : {
    "kind" : "Enumeration",
    "modules" : [
      "ARKit"
    ],
    "preciseIdentifier" : "c:@E@AREnvironmentTexturing"
  },
  "title" : "ARWorldTrackingConfiguration.EnvironmentTexturing"
}
-->

# ARWorldTrackingConfiguration.EnvironmentTexturing

The available environment texturing options for world tracking.

```
enum EnvironmentTexturing
```

## Discussion

Environment textures are cube-map textures that depict the view in all directions from a specific point in a scene. In 3D asset rendering, environment textures are the basis for image-based lighting algorithms where surfaces can realistically reflect light from their surroundings. ARKit generates environment textures during an AR session using camera imagery, allowing SceneKit or a custom-rendering engine to provide realistic image-based lighting for virtual objects in your AR experience.

To enable texture map generation for your configuration, change this property (from its default value of [`ARWorldTrackingConfiguration.EnvironmentTexturing.none`](/documentation/ARKit/ARWorldTrackingConfiguration/EnvironmentTexturing-swift.enum/none)):

- With [`ARWorldTrackingConfiguration.EnvironmentTexturing.manual`](/documentation/ARKit/ARWorldTrackingConfiguration/EnvironmentTexturing-swift.enum/manual) environment texturing, you identify points in the scene for which you want light probe texture maps by creating [`AREnvironmentProbeAnchor`](/documentation/ARKit/AREnvironmentProbeAnchor) objects and adding them to the session.
- With [`ARWorldTrackingConfiguration.EnvironmentTexturing.automatic`](/documentation/ARKit/ARWorldTrackingConfiguration/EnvironmentTexturing-swift.enum/automatic) environment texturing, ARKit automatically creates, positions, and adds [`AREnvironmentProbeAnchor`](/documentation/ARKit/AREnvironmentProbeAnchor) objects to the session.

In both cases, ARKit automatically generates environment textures as the session collects camera imagery. Use a delegate method such as [`session(_:didUpdate:)`](/documentation/ARKit/ARSessionDelegate/session(_:didUpdate:)-3qtt8) to find out when a texture is available, and access it from the anchor’s [`environmentTexture`](/documentation/ARKit/AREnvironmentProbeAnchor/environmentTexture) property.

If you display AR content using [`ARSCNView`](/documentation/ARKit/ARSCNView) and the [`automaticallyUpdatesLighting`](/documentation/ARKit/ARSCNView/automaticallyUpdatesLighting) option, SceneKit automatically retrieves [`AREnvironmentProbeAnchor`](/documentation/ARKit/AREnvironmentProbeAnchor) texture maps and uses them to light the scene.

---

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)