---
title: Core Haptics
framework: Core Haptics
role: collection
role_heading: Framework
platforms: [iOS 13.0+, iPadOS 13.0+, Mac Catalyst 13.0+, tvOS 14.0+, visionOS 1.0+]
path: corehaptics
---

# Core Haptics

Compose and play haptic patterns to customize your iOS app’s haptic feedback.

## Overview

Overview Core Haptics lets you add customized haptic and audio feedback to your app. Use haptics to engage users physically, with tactile and audio feedback that gets attention and reinforces actions. Some system-provided interface elements—like pickers, switches, and sliders—automatically provide haptic feedback as users interact with them. With Core Haptics, you extend this functionality by composing and combining haptics beyond the default patterns. Your app can play custom haptic patterns crafted from basic building blocks called haptic events (CHHapticEvent). Events can be transient, like the feedback you get from toggling a switch, or continuous, like the vibration or sound from a ringtone. You can use transient and continuous patterns independently, or build your pattern from precise combinations of the two. Another type of haptic event allows you to play customized audio content as part of your pattern.

## Topics

### Essentials

- [Preparing your app to play haptics](corehaptics/preparing-your-app-to-play-haptics.md)
- [Playing a single-tap haptic pattern](corehaptics/playing-a-single-tap-haptic-pattern.md)
- [CHHapticEngine](corehaptics/chhapticengine.md)
- [CHHapticPattern](corehaptics/chhapticpattern.md)
- [CHHapticPatternPlayer](corehaptics/chhapticpatternplayer.md)
- [CHHapticAdvancedPatternPlayer](corehaptics/chhapticadvancedpatternplayer.md)

### Programmatic haptics

- [Delivering Rich App Experiences with Haptics](corehaptics/delivering-rich-app-experiences-with-haptics.md)
- [Playing Collision-Based Haptic Patterns](corehaptics/playing-collision-based-haptic-patterns.md)
- [Updating Continuous and Transient Haptic Parameters in Real Time](corehaptics/updating-continuous-and-transient-haptic-parameters-in-real-time.md)
- [CHHapticEvent](corehaptics/chhapticevent.md)
- [CHHapticEventParameter](corehaptics/chhapticeventparameter.md)
- [CHHapticDynamicParameter](corehaptics/chhapticdynamicparameter.md)
- [CHHapticParameterCurve](corehaptics/chhapticparametercurve.md)

### File-based haptics

- [Playing a Custom Haptic Pattern from a File](corehaptics/playing-a-custom-haptic-pattern-from-a-file.md)
- [Representing haptic patterns in AHAP files](corehaptics/representing-haptic-patterns-in-ahap-files.md)

### Game controller haptics

- [Playing Haptics on Game Controllers](corehaptics/playing-haptics-on-game-controllers.md)

### Haptic errors

- [CoreHapticsErrorDomain](corehaptics/corehapticserrordomain.md)
- [CHHapticError](corehaptics/chhapticerror.md)
- [CHHapticError.Code](corehaptics/chhapticerror/code.md)

### Variables

- [CHHapticAudioResourceKeyLoopEnabled](corehaptics/chhapticaudioresourcekeyloopenabled.md)
- [CHHapticAudioResourceKeyUseVolumeEnvelope](corehaptics/chhapticaudioresourcekeyusevolumeenvelope.md)

### Type Aliases

- [CHHapticAudioResourceKey](corehaptics/chhapticaudioresourcekey.md)
