36 patterns covering the full Taptic Engine vocabulary — tapping a heart, holding a button, snapping a slider, confirming a payment. Each one ships SwiftUI, UIKit, and Core Haptics variants, plus a Markdown block built to paste straight into an LLM prompt.
Setup code and cheat sheets. Start here: a reusable manager, the Core Haptics engine boilerplate, and every built-in feedback value.
One shared object that prepares generators once and exposes every standard haptic as a single call.
Boilerplate for custom haptic patterns: capability check, engine creation, and auto-restart handlers.
Every built-in SwiftUI feedback value (iOS 17+) in one view, wired to trigger values.
All three UIFeedbackGenerator families and every style, with the prepare → fire pattern.
Single-hit feedback for discrete actions — likes, keys, toggles, tabs, and the heavy thud reserved for destructive actions.
User taps a heart to like a post; the icon pops and a soft tap confirms it.
A standard call-to-action button ("Continue", "Add to cart") confirms the press.
Each key on a custom keyboard, PIN pad, or calculator gives an instant tick on touch-down.
A settings switch flips on or off with a mechanical click.
Switching tabs in a custom tab bar gives a subtle tick per change.
Checking off a to-do item: a light tick on check, and nothing (or lighter) on uncheck.
Confirming a delete: a heavy, unmistakable thud that says "this is significant".
Time-based interactions: recognition pops, rising-tension holds, and start/stop bookends for recording.
Holding an element until a context menu or secondary mode activates — the system "pop".
A "hold 1.5 s to confirm" button: vibration ramps up while holding, success fires at completion.
Voice memo style: press starts recording, release stops it. Each boundary gets its own haptic.
Feedback tied to continuous gestures — thresholds that arm, objects that lift and land, and surfaces with texture.
The moment a pull gesture crosses the "release to refresh" threshold, plus a success on completion.
Dragging a card or icon: a soft lift when it detaches, a rigid thud when it lands.
Swiping a row until the action arms ("release to archive") — a tick when it arms and when it disarms.
Dragging a row through a list: one tick every time it displaces a neighbor, plus lift and settle haptics.
Dragging across a surface that should feel textured — the faster the finger moves, the stronger the rumble.
Value-change ticks: wheels, detents, direction-aware steppers, ratcheting dials, snapping, and stepped zoom.
A custom wheel or scrubber that ticks once per row as it spins past values.
A slider that snaps to marked stops (0 / 25 / 50 / 75 / 100) and clicks at each detent.
Quantity steppers (+ / −): direction-aware feedback so up and down feel different.
A rotary knob (volume, timer) that clicks per step, with sharper clicks at faster spin — Digital-Crown style.
Dragging an object in an editor until it snaps to a guide, grid line, or another object.
Pinch-zoom that steps through discrete levels (1x, 2x, 3x) — a tick per level, camera-app style.
The result of a task: success, warning, error with shake, and ceremonial patterns for payments and connections.
A user-initiated task finishes: form submitted, file saved, order placed.
Wrong password or invalid input: the field shakes while the error haptic buzzes — the lock-screen pattern.
Something needs attention but is not fatal: low battery in a session, unsaved changes, weak signal.
An Apple Pay-style confirmation: a soft pre-tap followed by a strong full-body pulse.
A device pairs, a charger connects, a session links — the MagSafe-style double thump.
A workout or recording countdown: a tick per second, then a distinct stronger pattern on "go".
Fully designed patterns — heartbeats, drum rolls, explosions, AHAP asset files, and sample-locked audio + haptics.
A health, meditation, or connection feature that plays a realistic looping heartbeat.
Building suspense before a reveal (prize wheel, match result): ticks accelerate and intensify, then release.
A game impact: sharp initial crack, then a rumble that decays over half a second.
Ship haptic patterns as JSON assets designers can iterate on without recompiling — the standard for game/media haptics.
A confirmation that is heard and felt as one event — haptic and sound scheduled on the same clock.