Augmented reality

TechnologiesTechnologies

Source: Apple Inc. Canonical content at https://developer.apple.com/design/human-interface-guidelines/augmented-reality. This file is a structured index of that content, snapshot 2025-02-02. Apple HIG text and imagery are © Apple Inc.; this repository provides organization and cross-referencing for AI agent consumption only.

Augmented reality

Offer AR features only on capable devices.

Best practices

Let people use the entire display.

Strive for convincing illusions when placing realistic objects.

Consider how virtual objects with reflective surfaces show the environment.

Use audio and haptics to enhance the immersive experience.

Minimize text in the environment.

If additional information or controls are necessary, consider displaying them in screen space.

Consider using indirect controls when you need to provide persistent controls.

Anticipate that people will use your app in a wide variety of real-world environments.

Be mindful of people’s comfort.

If your app encourages people to move, introduce motion gradually.

Be mindful of people’s safety.

Providing coaching

Hide unnecessary app UI while people are using a coaching view.

If necessary, offer a custom coaching experience.

Helping people place objects

Show people when to locate a surface and place an object.

When people place an object, immediately integrate that object into the AR environment.

Consider guiding people toward offscreen virtual objects.

Avoid trying to precisely align objects with the edges of detected surfaces.

Incorporate plane classification information to inform object placement.

Designing object interactions

Let people use direct manipulation to interact with objects when possible.

Let people directly interact with virtual objects using standard, familiar gestures.

In general, keep interactions simple.

Respond to gestures within reasonable proximity of interactive virtual objects.

Let people initiate object scaling when it makes sense in your app.

Be wary of potentially conflicting gestures.

Strive for virtual object movement that’s consistent with the physics of your app’s AR environment.

Explore even more engaging methods of interaction.

Offering a multiuser experience

Consider allowing people occlusion.

When possible, let new participants enter a multiuser AR experience.

Reacting to real-world objects

When a detected image first disappears, consider delaying the removal of virtual objects that are attached to it.

Limit the number of reference images in use at one time.

Limit the number of reference images requiring an accurate position.

Communicating with people

If you must display instructional text, use approachable terminology.

In a three-dimensional context, prefer 3D hints.

Make important text readable.

If necessary, provide a way to get more information.

Handling interruptions

Consider using the system-provided coaching view to help people relocalize.

Consider hiding previously placed virtual objects during relocalization.

Minimize interruptions if your app supports both AR and non-AR experiences.

Allow people to cancel relocalization.

Indicate when the front-facing camera is unable to track a face for more than about half a second.

Suggesting problem resolutions

Let people reset the experience if it doesn’t meet their expectations.

Suggest possible fixes if problems occur.

Icons and badges

Use the AR glyph as intended.

Maintain minimum clear space.

Use the AR badges as intended and don’t alter them.

Prefer the AR badge to the glyph-only badge.

Use badging only when your app contains a mixture of objects that can be viewed in AR and objects that cannot.

Keep badge placement consistent and clear.

Maintain minimum clear space.

Platform considerations

visionOS

Resources

Developer documentation

Videos


For the complete guidance, including worked examples and illustrations, see the canonical page: https://developer.apple.com/design/human-interface-guidelines/augmented-reality

Get HIG guidance in your AI

Install Apple HIG Skills and get expert design guidance directly in Claude Code.

npx skills add raintree-technology/apple-hig-skills
Email updates aren't configured on this deployment yet. Follow the GitHub repo (opens in new tab) for updates.