Onboarding

Ideally, people can understand your app or game simply by experiencing it, but if onboarding is necessary, provide a flow that’s fast, fun, and optional.

To help reduce the need for an onboarding flow, make sure it’s easy for people to discover and navigate your app’s primary actions and content, and that secondary items are in logical, predictable locations. If you need to create a separate onboarding experience, consider the following best practices.

Best practices

Design a brief, enjoyable experience that doesn’t require people to memorize or provide a lot of information. When you orient people to the main purpose of your app in a quick and entertaining way, people are more likely to appreciate the experience and remember what they learn. If your app or game requires access to private data or resources before it can do anything, you might want to initiate the system-provided permission request during your onboarding flow because it gives you the opportunity show people why your app needs their information and the benefits of providing it. Be sure to defer requests for additional information until the situation requires it. For guidance, see Accessing private data.

Prefer teaching through interactivity. People tend to learn better when they can actually perform a task and interact with content instead of just viewing instructional material. Also, an interactive onboarding experience can help people feel like they’re jumping right in and getting started with your app or game.

As an alternative to a separate onboarding flow, consider integrating brief onboarding elements into the main experience. For example, when people activate a feature for the first time, you might provide a succinct description of the functionality and display a visual cue that points to the next step. Because people generally learn better by doing, it can help to provide first-time feedback that guides people as they try new things.

If you offer a tutorial, give people a way to skip it. If people skip the tutorial when they first launch your app, don’t present it again on subsequent launches, but make sure it’s easy for people to find if they want to view it later. For example, you might want to make the tutorial available in a help, account, or settings area within your app or game.

Avoid displaying licensing details within your onboarding flow. Let the App Store display agreements and disclaimers so people can read them before downloading your app. If you must include these items within the app, integrate them in a balanced way that doesn’t disrupt the user experience.

Platform considerations

No additional considerations for iOS, iPadOS, macOS, tvOS, or watchOS.

Supported platforms