The library
36 patterns spanning the Taptic Engine vocabulary. Each one ships ready-to-paste SwiftUI, UIKit, or Core Haptics code, plus a Markdown block built to paste straight into an LLM prompt.
Foundations
4 patternsSetup code and cheat sheets. Start here: a reusable manager, the Core Haptics engine boilerplate, and every built-in feedback value.
Reusable HapticManager
One shared object that prepares generators once and exposes every standard haptic as a single call.
Core Haptics engine setup
Boilerplate for custom haptic patterns: capability check, engine creation, and auto-restart handlers.
SwiftUI .sensoryFeedback cheat sheet
Every built-in SwiftUI feedback value (iOS 17+) in one view, wired to trigger values.
UIKit feedback generator cheat sheet
All three UIFeedbackGenerator families and every style, with the prepare → fire pattern.
Taps & buttons
7 patternsSingle-hit feedback for discrete actions — likes, keys, toggles, tabs, and the heavy thud reserved for destructive actions.
Tapping a heart / like button
User taps a heart to like a post; the icon pops and a soft tap confirms it.
Primary button press
A standard call-to-action button ("Continue", "Add to cart") confirms the press.
Custom keyboard key press
Each key on a custom keyboard, PIN pad, or calculator gives an instant tick on touch-down.
Toggle / switch flip
A settings switch flips on or off with a mechanical click.
Tab bar / navigation selection
Switching tabs in a custom tab bar gives a subtle tick per change.
Checkbox / task completion check
Checking off a to-do item: a light tick on check, and nothing (or lighter) on uncheck.
Destructive action (delete)
Confirming a delete: a heavy, unmistakable thud that says "this is significant".
Press & hold
3 patternsTime-based interactions: recognition pops, rising-tension holds, and start/stop bookends for recording.
Long press activation (context menu feel)
Holding an element until a context menu or secondary mode activates — the system "pop".
Hold-to-confirm with rising tension
A "hold 1.5 s to confirm" button: vibration ramps up while holding, success fires at completion.
Hold to record (start / stop)
Voice memo style: press starts recording, release stops it. Each boundary gets its own haptic.
Drag, swipe & scroll
5 patternsFeedback tied to continuous gestures — thresholds that arm, objects that lift and land, and surfaces with texture.
Pull-to-refresh threshold
The moment a pull gesture crosses the "release to refresh" threshold, plus a success on completion.
Drag: pick up and drop
Dragging a card or icon: a soft lift when it detaches, a rigid thud when it lands.
Swipe action arming (swipe to archive)
Swiping a row until the action arms ("release to archive") — a tick when it arms and when it disarms.
List reorder ticks
Dragging a row through a list: one tick every time it displaces a neighbor, plus lift and settle haptics.
Textured drag (velocity-driven rumble)
Dragging across a surface that should feel textured — the faster the finger moves, the stronger the rumble.
Pickers, sliders & steppers
6 patternsValue-change ticks: wheels, detents, direction-aware steppers, ratcheting dials, snapping, and stepped zoom.
Picker wheel ticks
A custom wheel or scrubber that ticks once per row as it spins past values.
Slider with snapping detents
A slider that snaps to marked stops (0 / 25 / 50 / 75 / 100) and clicks at each detent.
Stepper increase / decrease
Quantity steppers (+ / −): direction-aware feedback so up and down feel different.
Rotating dial / ratchet
A rotary knob (volume, timer) that clicks per step, with sharper clicks at faster spin — Digital-Crown style.
Canvas snap to alignment guide
Dragging an object in an editor until it snaps to a guide, grid line, or another object.
Zoom / level change
Pinch-zoom that steps through discrete levels (1x, 2x, 3x) — a tick per level, camera-app style.
Outcomes & notifications
6 patternsThe result of a task: success, warning, error with shake, and ceremonial patterns for payments and connections.
Success (task completed)
A user-initiated task finishes: form submitted, file saved, order placed.
Error with shake animation
Wrong password or invalid input: the field shakes while the error haptic buzzes — the lock-screen pattern.
Warning (needs attention)
Something needs attention but is not fatal: low battery in a session, unsaved changes, weak signal.
Payment complete (custom double-pulse)
An Apple Pay-style confirmation: a soft pre-tap followed by a strong full-body pulse.
Connect / charging double thump
A device pairs, a charger connects, a session links — the MagSafe-style double thump.
Countdown 3-2-1-Go
A workout or recording countdown: a tick per second, then a distinct stronger pattern on "go".
Custom Core Haptics patterns
5 patternsFully designed patterns — heartbeats, drum rolls, explosions, AHAP asset files, and sample-locked audio + haptics.
Heartbeat (lub-dub loop)
A health, meditation, or connection feature that plays a realistic looping heartbeat.
Drum roll / escalating anticipation
Building suspense before a reveal (prize wheel, match result): ticks accelerate and intensify, then release.
Game explosion / heavy collision
A game impact: sharp initial crack, then a rumble that decays over half a second.
AHAP files (designed patterns as assets)
Ship haptic patterns as JSON assets designers can iterate on without recompiling — the standard for game/media haptics.
Audio + haptic sync (CoreHaptics audio events)
A confirmation that is heard and felt as one event — haptic and sound scheduled on the same clock.
No patterns match. Try a broader term, like slider or success.