<!--
{
  "documentType" : "article",
  "framework" : "ARKit",
  "identifier" : "/documentation/ARKit/arkit-in-ios",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "ARKit in iOS"
}
-->

# ARKit in iOS

Integrate iOS device camera and motion features to produce augmented reality experiences in your app or game.

## Topics

### Essentials

[Verifying Device Support and User Permission](/documentation/ARKit/verifying-device-support-and-user-permission)

Check whether your app can use ARKit and respect user privacy at runtime.

  <doc://com.apple.documentation/documentation/USD/usd-schemas-for-ar>

### Setup

[Choosing Which Camera Feed to Augment](/documentation/ARKit/choosing-which-camera-feed-to-augment)

Add visual effects to the user’s environment in an AR experience through the front or rear camera.

[Managing Session Life Cycle and Tracking Quality](/documentation/ARKit/managing-session-life-cycle-and-tracking-quality)

Keep the user informed on the current session state and recover from interruptions.

[Displaying an AR Experience with Metal](/documentation/ARKit/displaying-an-ar-experience-with-metal)

Control rendering of your app’s virtual content on top of a camera feed.

[`ARSession`](/documentation/ARKit/ARSession)

The object that manages the major tasks associated with every AR experience, such as motion tracking, camera passthrough, and image analysis.

[Configuration Objects](/documentation/ARKit/configuration-objects)

Configure your augmented reality session to detect and track specific types of content.

### Views

  <doc://com.apple.documentation/documentation/RealityKit/RealityView>

  <doc://com.apple.documentation/documentation/RealityKit/ARView>

[`ARSCNView`](/documentation/ARKit/ARSCNView)

A view that blends virtual 3D content from SceneKit into your augmented reality experience.

[`ARSKView`](/documentation/ARKit/ARSKView)

A view that blends virtual 2D content from SpriteKit into the 3D space of an augmented reality experience.

[`ARCoachingOverlayView`](/documentation/ARKit/ARCoachingOverlayView)

A view that displays standardized onboarding instructions to direct users toward a specific goal.

### Virtual Content

[Content Anchors](/documentation/ARKit/content-anchors)

Identify items in the physical environment, including planar surfaces, images, physical objects, body positions, and faces.

[Environmental Analysis](/documentation/ARKit/environmental-analysis)

Analyze the video from the cameras and the accompanying data, and use ray-casting and depth-map information to determine the location of items.

[Camera, Lighting, and Effects](/documentation/ARKit/camera-lighting-and-effects)

Determine the camera position and lighting for the current session, and apply effects, such as occlusion, to elements of the environment.

[Data Management](/documentation/ARKit/data-management)

Obtain detailed information about skeletal and face geometry, and saved world data.

  <doc://com.apple.documentation/documentation/USD/creating-usd-files-for-apple-devices>

### AR Quick Look

Add an AR experience to your app or website, or customize your content’s appearance in Quick Look.

[Previewing a Model with AR Quick Look](/documentation/ARKit/previewing-a-model-with-ar-quick-look)

Display a model or scene that the user can move, scale, and share with others.

[Adding Visual Effects in AR Quick Look and RealityKit](/documentation/ARKit/adding-visual-effects-in-ar-quick-look-and-realitykit)

Balance the appearance and performance of your AR experiences with modeling strategies.

[Adding an Apple Pay Button or a Custom Action in AR Quick Look](/documentation/ARKit/adding-an-apple-pay-button-or-a-custom-action-in-ar-quick-look)

Provide a banner that users can tap to make a purchase or perform a custom action in an AR experience.

  <doc://com.apple.documentation/documentation/QuickLook/ARQuickLookPreviewItem>

  <doc://com.apple.documentation/documentation/USD/usd-schemas-for-ar>

[Specifying a lighting environment in AR Quick Look](/documentation/ARKit/specifying-a-lighting-environment-in-ar-quick-look)

Add metadata to your USDZ file to specify its lighting characteristics.

### Shared Experiences

Communicate with other devices to create a shared AR experience.

[Streaming an AR experience](/documentation/ARKit/streaming-an-ar-experience)

Control an AR experience remotely by transferring sensor and user input over the network.

[Creating a collaborative session](/documentation/ARKit/creating-a-collaborative-session)

Enable nearby devices to share an AR experience by using a peer-to-peer multiuser strategy.

[Creating a multiuser AR experience](/documentation/ARKit/creating-a-multiuser-ar-experience)

Enable nearby devices to share an AR experience by using a host-guest multiuser strategy.

[`ARParticipantAnchor`](/documentation/ARKit/ARParticipantAnchor)

An anchor for another user in multiuser augmented reality experiences.

[`ARSession.CollaborationData`](/documentation/ARKit/ARSession/CollaborationData)

An object that holds information that a user has collected about the physical environment.

### Audio

[Creating an immersive ar experience with audio](/documentation/ARKit/creating-an-immersive-ar-experience-with-audio)

Use sound effects and environmental sound layers to create an engaging AR experience.

### Errors

[`ARError`](/documentation/ARKit/ARError)

An error reported by ARKit.

[`ARError.Code`](/documentation/ARKit/ARError/Code)

Codes that identify errors in ARKit.



---

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)