Input
Updated: Apr 6, 2026
Meta Quest supports multiple input modalities so users can interact with your app in the way that feels most natural. Understanding these modalities helps you design interactions that are intuitive, comfortable, and accessible to the widest possible audience.
Meta Quest ships with two Touch Plus controllers that provide buttons, thumbsticks, triggers, and haptic feedback. Controllers offer precise, low-latency input and are the most familiar interaction method for users coming from console or PC gaming.
Key capabilities:
- Buttons and triggers — A, B, X, Y, triggers, grips, and thumbstick clicks
- Thumbstick input — Analog directional input for locomotion, menu navigation, and camera control
- Haptic feedback — Vibration motors in each controller for tactile responses
- 6DoF tracking — Full position and orientation tracking in 3D space
- Battery management — Low-battery detection and graceful fallback behavior
When designing for controllers, map your most frequent actions to the most accessible buttons (triggers and grips) and reserve face buttons for secondary actions. Provide consistent haptic feedback to confirm interactions — a short pulse on grab, a longer buzz on impact.
Hand tracking lets users interact with your app using their bare hands — no controllers required. The system tracks 26 joints per hand at high fidelity, enabling pinch gestures, poke interactions, and custom hand poses.
Key capabilities:
- Skeleton tracking — 26 joints per hand with position, rotation, and confidence values
- System gestures — Pinch, poke, and grab recognized by the platform
- Custom poses — Define your own hand poses for app-specific interactions
- Finger tracking — Individual finger curl and splay detection
- Wide tracking volume — Hands are tracked across the headset’s field of view
Hand tracking works best for UI interactions, social experiences, and apps where picking up controllers would break immersion. For fast-paced games or precision aiming, controllers typically provide a better experience.
Design tip: Support both controllers and hand tracking from the start. Users switch between them freely, and your app should handle the transition seamlessly. Design your core interaction model to be input-agnostic whenever possible.
Eye tracking is available on Meta Quest Pro and enables gaze-based interactions and performance optimizations like eye-tracked foveated rendering. Gaze direction can drive UI focus, aim assist, and analytics about where users look in your scene. Quest 3 and Quest 3S do not have eye tracking hardware.
Key capabilities (Quest Pro only):
- Gaze direction — Where the user is looking in 3D space
- Eye openness — Blink detection and eye openness values
- Eye-tracked foveated rendering — Render at full resolution only where the user looks, reducing GPU workload
- Gaze-based UI — Highlight or activate elements when the user looks at them
Eye tracking data is sensitive. Follow Meta’s data use policies and only request eye tracking permissions when your app genuinely needs them. Always provide a fallback for users on devices without eye tracking (Quest 3, Quest 3S) or users who decline the permission.
Hybrid input: When your app supports both controllers and hand tracking simultaneously, use the XR_EXT_hand_tracking_data_source extension to detect whether hand tracker data is driven by a physical controller or bare hands. This helps you adjust interaction behavior based on the actual input source.
Microgestures are subtle, small-amplitude hand movements like finger taps and wrist flicks. They enable quick, lightweight interactions without requiring large arm movements — useful for confirming selections, scrolling, or triggering shortcuts.
Microgestures work best as complements to other input modalities, not as primary interaction methods. They reduce fatigue for repeated actions and feel natural for users who are already comfortable with hand tracking.
Meta Quest also supports Bluetooth gamepads and keyboards for apps that need traditional input. Gamepads provide a familiar console-style experience for games, while keyboards enable text-heavy workflows in productivity apps.
- Bluetooth gamepads — Standard HID gamepads connect wirelessly for game input
- Bluetooth keyboards — Physical keyboards for text input in productivity and browsing apps
- Mouse input — USB and Bluetooth mice work with 2D panel apps running on Horizon OS
These input methods are especially relevant for Android panel apps, where users may expect desktop-style interaction.
Build path implementation guides
Each build path provides its own SDK and API for implementing input. Choose your engine to get started:
For best practices on designing input interactions:
- Input modalities: Explore the different input modalities.
- Head: Design and UX best practices for head input.
- Hands: Design and UX best practices for using hands.
- Controllers: Design and UX best practices for using controllers.
- Voice: Design and UX best practices for using voice.
- Peripherals: Design and UX best practices for using peripherals.