Consistency | Your app's haptic feedback matches the rest of the platform, creating a seamless user experience. |
Quality | System haptics are optimized for immersion and reliability, helping your app feel polished and professional. |
User trust | Familiar haptic cues make interactions more intuitive and memorable for users. |
![]() | Hover Use when the user hovers over an interactive element. Provides subtle tactile confirmation that the element is ready to be engaged. | Design approach Mimics the sensation of crossing a relief or contour. A short, sharp transient that marks the boundary of an interactive surface. |
![]() | Press Use when the user presses a button or similar control. Delivers clear tactile feedback that the action has been registered. | Design approach Emulates the bounce-back of a mechanical spring felt when pressing a non-latching button. |
![]() | Long press Use when the user presses and holds a button or interactive control. Signals that a secondary action or extended interaction has been triggered. | Design approach Guides the user through a sustained press, signaling the moment the hold threshold has been reached and the action accepted. |
![]() | Select Use to confirm a selection action, such as toggling a switch or activating a checkbox. Reinforces that the user's choice has been applied. | Design approach Mimics the stroke of a checkmark, two distinct transient signals without extension, differentiating it from the single-event press interaction. |
![]() | Deselect Use to confirm a deselection action, such as toggling a switch off or clearing a checkbox. Reinforces that the user's choice has been removed. | Design approach Mirrors the select pattern in reverse, the same two-transient structure played in opposite order to convey removal rather than activation. |
![]() | Object hover Use when the user points at a 3D object before grabbing it. Provides a brief tactile cue that the object is within reach and ready to be grasped. | Design approach A short, sharp transient signal, rather than a continuous one, delivers an immediate tactile marker without interfering with the upcoming grab interaction. |
![]() | Grab Use when the user grabs or picks up an object. Confirms that the object has been successfully grasped. | Design approach Conveys a sense of weight and resistance at the moment of contact, simulating the physical sensation of taking hold of an object and confirming the grab interaction. |
![]() | Release Use when the user releases a previously grabbed object. Confirms that the object has been let go. | Design approach Mirrors the grab haptic at lower amplitude and frequency, conveying a brief loss of resistance that signals the moment of release. |
![]() | Success Use to indicate a successful action, task completion, or a positive notification. | Design approach Two distinct events over 175ms, with amplitude and frequency ramping upward, rising from low to high to convey a sense of accomplishment and positive resolution. |
![]() | Warning Use to indicate a warning or non-critical issue that requires user attention. | Design approach Inverts the success pattern, two distinct events over 150ms, with amplitude and frequency ramping downward to convey caution rather than resolution. |
![]() | Error Use to indicate a critical error or failure that requires immediate user attention. | Design approach A series of four attention-grabbing events replacing the smooth ramp of success and warning with abrupt repetition to convey urgency and severity. |
Unity |
To use System Haptics in your Unity project for Quest, please refer to the Developer Documentation for System Haptics, and the API Reference for the System Haptics class as part of the XR Core SDK package.
As stated by the documentation, you need to follow these steps:
|
Developer Documentation | |
API Reference Meta Core SDK |