Touch
Updated: Mar 13, 2026
Explore how to interact with interactables that are close to you directly. These guidelines can help ensure an empowering experience for your users.
Touch z-distance must be clearly communicated for virtual interfaces to succeed.
Touch allows for quick, direct selection of buttons and UI elements at the expense of increased physical effort. Leveraging decades of human experience with touch-based computing, this interaction is incredibly intuitive, making it the preferred method for close-range tasks where high precision and “tactile” feedback are required.
These are the different parts, characteristics, and frequently used terminologies that you should be familiar with:
Proximity | The spatial distance between the user's hand or controller and the interactable. Interactions are triggered once the input source touches or collides with the interactable. |
Direct interaction | An interaction pattern where the user engages with an interactable through physical contact within their immediate reach, rather than using a secondary pointer or ray. |
Direct touch can be applied across different input modalities, interactable types, and spatial contexts.
There are two primary input modalities for direct interactions:
- Hand: Index finger tip contact.
- Controller: Contact with the controller geometry or the index finger tip of a controller-driven hand.
Note: Due to self-occlusion and the risk of accidental triggers, we do not recommend using other fingers (for example, the middle finger) for touch interactions. An exception is the surface keyboard, which is optimized to allow multi-finger typing.
The shape of an interactable, whether planar or volumetric, dictates its appropriate affordance:
- 2D: Standard window UI touch interactions, such as pressing a button on a smartphone. To maintain visual immersion, the hand should not clip into the panel. This is managed through touch limiting, which stops the virtual hand at the surface.
- 3D: Volumetric objects that react to physical contact, such as pushing a lever, turning a knob, or displacing a world-space object. Like 2D elements, these should utilize collision logic to prevent the hand from passing through the object geometry.
The placement of an interactable influences the design and how the user perceives touch contact:
- Floating: Windows or objects positioned in mid-air. These require specific affordances, such as touch limiting, to emphasize to the user when contact is successfully made.
- Surface-locked: Windows or objects placed onto a physical surface, such as the surface keyboard on a real table. This provides real physical feedback and prevents the user’s hand from intersecting.
Direct interactions are categorized by how a user physically contacts and manipulates an interactable within their immediate reach. These mechanisms define the tactile behavior and responsiveness of the virtual content at the moment of contact.
The most fundamental direct interaction. Poking occurs when the user’s index finger contacts an interactable to trigger a binary state change, such as a button press or a toggle.
Poke interaction: pressing a virtual button with the index finger.
Input: Brief contact with the interactable’s surface.
Holding the index finger against an interactable for a specific duration. This pattern is used to reveal secondary information, such as tooltips or context menus, without activating the primary “Poke” action.
Long press interaction: holding a selection to reveal additional information and functionality.
Input: Sustained contact without movement.
A continuous interaction where the user moves their index finger across the surface of a 2D UI. This is primarily used for navigating through lists, galleries, or maps.
Scrolling panels using poke interaction with the index finger.
Input: Contact-and-drag across the surface.
Initiated by a long press, this allows the user to “pick up” an interactable and move it along a surface or within 3D space. This is the standard for rearranging UI panels or moving small objects on a virtual desk.
Input: Sustained contact followed by drag across the surface.
- Input mappings: Understand how targeting and selection work across input methods.
- Input hierarchy: Learn how the system prioritizes input modalities and fallback logic.
- Ray casting: Explore indirect interaction through ray casting.
- Grab: Explore object manipulation through grab.
- Hands: Learn about hands as an input modality for touch.