<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "CoreHaptics",
  "identifier" : "/documentation/CoreHaptics",
  "metadataVersion" : "0.1.0",
  "role" : "Framework",
  "symbol" : {
    "kind" : "Framework",
    "modules" : [
      "Core Haptics"
    ],
    "preciseIdentifier" : "CoreHaptics"
  },
  "title" : "Core Haptics"
}
-->

# Core Haptics

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

## 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`](/documentation/CoreHaptics/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](/documentation/CoreHaptics/preparing-your-app-to-play-haptics)

Set up your app to play haptics.

[Playing a single-tap haptic pattern](/documentation/CoreHaptics/playing-a-single-tap-haptic-pattern)

Create and play a transient haptic pattern from a dictionary literal inline.

[`CHHapticEngine`](/documentation/CoreHaptics/CHHapticEngine)

An object that represents the connection to the haptic server.

[`CHHapticPattern`](/documentation/CoreHaptics/CHHapticPattern)

An object representing a haptic waveform.

[`CHHapticPatternPlayer`](/documentation/CoreHaptics/CHHapticPatternPlayer)

A protocol that defines a standard pattern player capable of playing haptic patterns with fixed parameters.

[`CHHapticAdvancedPatternPlayer`](/documentation/CoreHaptics/CHHapticAdvancedPatternPlayer)

A protocol that defines an advanced pattern player capable of looping, seeking, pausing, and resuming haptic playback.

### Programmatic haptics

You can synthesize haptics by configuring parameters like haptic intensity and sharpness. Event parameters define the initial state, while dynamic parameters change the pattern during playback.

[Delivering Rich App Experiences with Haptics](/documentation/CoreHaptics/delivering-rich-app-experiences-with-haptics)

Enhance your app’s experience by incorporating haptic and sound feedback into key interactive moments.

[Playing Collision-Based Haptic Patterns](/documentation/CoreHaptics/playing-collision-based-haptic-patterns)

Play a custom haptic pattern whose strength depends on an object’s collision speed.

[Updating Continuous and Transient Haptic Parameters in Real Time](/documentation/CoreHaptics/updating-continuous-and-transient-haptic-parameters-in-real-time)

Generate continuous and transient haptic patterns in response to user touch.

[`CHHapticEvent`](/documentation/CoreHaptics/CHHapticEvent)

An object that describes a single haptic or audio event.

[`CHHapticEventParameter`](/documentation/CoreHaptics/CHHapticEventParameter)

A static parameter value that represents a single property of the haptic pattern.

[`CHHapticDynamicParameter`](/documentation/CoreHaptics/CHHapticDynamicParameter)

A value that you send to a haptic pattern player to alter a property value during playback.

[`CHHapticParameterCurve`](/documentation/CoreHaptics/CHHapticParameterCurve)

A curve that you send to a haptic pattern player to alter a property value gradually during playback.

### File-based haptics

Apple Haptic and Audio Pattern (AHAP) files are a JSON-like representation of synced haptics and audio that you can load and play from disk.

[Playing a Custom Haptic Pattern from a File](/documentation/CoreHaptics/playing-a-custom-haptic-pattern-from-a-file)

Sample predesigned Apple Haptic Audio Pattern files, and learn how to play your own.

[Representing haptic patterns in AHAP files](/documentation/CoreHaptics/representing-haptic-patterns-in-ahap-files)

Understand the Apple Haptic and Audio Pattern (AHAP) file format.

### Game controller haptics

[Playing Haptics on Game Controllers](/documentation/CoreHaptics/playing-haptics-on-game-controllers)

Add haptic feedback to supported game controllers by using Core Haptics.

### Haptic errors

[`CoreHapticsErrorDomain`](/documentation/CoreHaptics/CoreHapticsErrorDomain)

A string representation of the haptic error domain.

[`CHHapticError`](/documentation/CoreHaptics/CHHapticError)

A structure that represents a framework error.

[`CHHapticError.Code`](/documentation/CoreHaptics/CHHapticError/Code)

Error codes for framework operations.



---

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)
