Develop

Controller Input Mapping

Updated: Apr 14, 2026

What is Controller Input Mapping

This reference section describes how to map Meta Quest controller actions (such as thumbstick presses) to input events or controller events.

How does Controller Input Mapping Work?

Input Bindings

The Meta XR Plugin registers Oculus Touch FKey entries for all available controller inputs. These keys work with both the Enhanced Input system and the legacy Action/Axis Mappings system.
For Unreal Engine 5.1 and later, the Enhanced Input system is the recommended approach for mapping controller inputs. The Meta XR Plugin makes all Meta Quest controller events available as FKey entries that you can bind to Input Actions and Input Mapping Contexts.
For step-by-step setup instructions, see Getting Started with Controller Input and Tracking.
For details on the Enhanced Input system, see the Enhanced Input documentation.

Legacy Action and Axis Mappings (deprecated)

Action and Axis Mappings configured through Edit > Project Settings > Engine > Input still function in UE 5.x but are deprecated by Epic Games. Action Mappings handle key presses, and Axis Mappings describe inputs with a continuous range.
The following image shows example Action Mapping settings.
input mapping

Controller Event Descriptions

The following sections list the controller input events registered by the Meta XR Plugin. These are the FKey entries available for binding through either the Enhanced Input system or legacy Action/Axis Mappings.
The most common controller actions use the standard Unreal MotionController API. These inputs tend to be supported across VR platforms.
In addition, the Meta XR Plugin provides several controller actions specific to Meta Quest controllers. For example, the Oculus Touch (L) Thumb Up CapTouch event uses a capacitive touch sensor to measure how far the user’s thumb is from the thumbstick.
Both the standard MotionController events and the Oculus Touch-specific events are covered in the following reference sections.

Oculus Touch

Thumbstick touch, press, and thumb up actions
  • Oculus Touch (L) Thumbstick - The left controller thumbstick Pressed and Released events. In order for the Pressed event to fire, the thumbstick must be pressed to the point of clicking.
  • Oculus Touch (R) Thumbstick - The right controller thumbstick Pressed and Released events. In order for the Pressed event to fire, the thumbstick must be pressed to the point of clicking.
  • Oculus Touch (L) Thumbstick CapTouch - The left controller thumbstick capacitive touch event. The Axis Value returns 1 if the user is touching the thumbstick, and 0 otherwise. This event fires once per frame, when input is enabled for the containing actor.
  • Oculus Touch (R) Thumbstick CapTouch - The right controller thumbstick capacitive touch event. The Axis Value returns 1 if the user is touching the thumbstick, and 0 otherwise. This event fires once per frame, when input is enabled for the containing actor.
  • Oculus Touch (L) Thumb Up CapTouch - The left controller thumb up capacitive touch event. The Axis Value returns 1 if the user's thumb is away from all capacitive thumb buttons (thumb stick, a/x and b/y buttons, and the thumb rest), and 0 otherwise. This event fires once per frame, when input is enabled for the containing actor.
  • Oculus Touch (R) Thumb Up CapTouch - The right controller thumb up capacitive touch event. The Axis Value returns 1 if the user's thumb is away from all capacitive thumb buttons (thumb stick, a/x and b/y buttons, and the thumb rest), and 0 otherwise. This event fires once per frame, when input is enabled for the containing actor.
Trigger touch, press, release, and pointing finger actions
  • Oculus Touch (L) Trigger - The left controller trigger Pressed and Released events.
  • Oculus Touch (R) Trigger - The right controller trigger Pressed and Released events.
  • Oculus Touch (L) Trigger CapTouch - The left controller trigger capacitive touch event. The Axis Value returns 1 if the user is touching the trigger, and 0 otherwise. This event fires once per frame, when input is enabled for the containing actor.
  • Oculus Touch (R) Trigger CapTouch - The right controller trigger capacitive touch event. The Axis Value returns 1 if the user is touching the trigger, and 0 otherwise. This event fires once per frame, when input is enabled for the containing actor.
  • Oculus Touch (L) Pointing CapTouch - The left controller pointing capacitive touch event. The Axis Value returns 0 if the user's finger is pointing from the trigger as close as possible, and 1 otherwise. This event fires once per frame, when input is enabled for the containing actor.
  • Oculus Touch (R) Pointing CapTouch - The right controller pointing capacitive touch event. The Axis Value returns 0 if the user's finger is pointing from the trigger as close as possible, and 1 otherwise. This event fires once per frame, when input is enabled for the containing actor.
Grip press and release actions
  • MotionController (L) Grip1 - The left controller grip Pressed and Released events. This is a standard Unreal MotionController key, not an Oculus Touch-specific event. The Meta XR Plugin also registers Oculus Touch-specific grip inputs: OculusTouch_Left_Grip_Click and OculusTouch_Left_Grip_Axis.
  • MotionController (R) Grip1 - The right controller grip Pressed and Released events. This is a standard Unreal MotionController key, not an Oculus Touch-specific event. The Meta XR Plugin also registers Oculus Touch-specific grip inputs: OculusTouch_Right_Grip_Click and OculusTouch_Right_Grip_Axis.
X or A button press and release actions
  • Oculus Touch (L) FaceButton1 - The left controller X button Pressed and Released events.
  • Oculus Touch (R) FaceButton1 - The right controller A button Pressed and Released events.
  • Oculus Touch (L) X Button CapTouch - The left controller X button capacitive touch event. The Axis Value returns 1 if the user is touching the X button, and 0 otherwise. This event fires once per frame, when input is enabled for the containing actor.
  • Oculus Touch (R) A Button CapTouch - The right controller A button capacitive touch event. The Axis Value returns 1 if the user is touching the A button, and 0 otherwise. This event fires once per frame, when input is enabled for the containing actor.
Y or B button press and release actions
  • Oculus Touch (L) FaceButton2 - The left controller Y button Pressed and Released events.
  • Oculus Touch (R) FaceButton2 - The right controller B button Pressed and Released events.
  • Oculus Touch (L) Y Button CapTouch - The left controller Y button capacitive touch event. The Axis Value returns 1 if the user is touching the Y button, and 0 otherwise. This event fires once per frame, when input is enabled for the containing actor.
  • Oculus Touch (R) B Button CapTouch - The right controller B button capacitive touch event. The Axis Value returns 1 if the user is touching the B button, and 0 otherwise. This event fires once per frame, when input is enabled for the containing actor.
Thumbstick up press and release actions
  • Oculus Touch (L) Thumbstick Up - The left controller Thumbstick Up Pressed and Released events.
  • Oculus Touch (R) Thumbstick Up - The right controller Thumbstick Up Pressed and Released events.
Thumbstick down press and release actions
  • Oculus Touch (L) Thumbstick Down - The left controller Thumbstick Down Pressed and Released events.
  • Oculus Touch (R) Thumbstick Down - The right controller Thumbstick Down Pressed and Released events.
Thumbstick left press and release actions
  • Oculus Touch (L) Thumbstick Left - The left controller Thumbstick Left Pressed and Released events.
  • Oculus Touch (R) Thumbstick Left - The right controller Thumbstick Left Pressed and Released events.
Thumbstick right press and release actions
  • Oculus Touch (L) Thumbstick Right - The left controller Thumbstick Right Pressed and Released events.
  • Oculus Touch (R) Thumbstick Right - The right controller Thumbstick Right Pressed and Released events.

Oculus Touch Pro

  • Oculus Touch (L) Thumb Rest Force - The left controller thumb rest force event. The Axis Value returns a floating point value, from 0.0 to 1.0, that expresses the normalized user force applied to the thumb rest, where 0.0 is no pressure, and 1.0 is fully pressed. This event fires once per frame, when input is enabled for the containing actor.
  • Oculus Touch (R) Thumb Rest Force - The right controller thumb rest force event. The Axis Value returns a floating point value, from 0.0 to 1.0, that expresses the normalized user force applied to the thumb rest, where 0.0 is no pressure, and 1.0 is fully pressed. This event fires once per frame, when input is enabled for the containing actor.
  • Oculus Touch (L) Stylus Force - The left controller stylus force event. Touch Pro has an optional stylus tip that can be interchanged with the lanyard provided and this tip can detect the pressure value (range from 0.0 to 1.0) and could be used for writing or drawing. The Axis Value of this event returns a floating point value, from 0.0 to 1.0, that expresses various pressure level values for the force applied on the tip, where 0.0 is no pressure, and 1.0 is fully pressed. This event fires once per frame, when input is enabled for the containing actor.
  • Oculus Touch (R) Stylus Force - The right controller stylus force event. Touch Pro has an optional stylus tip that can be interchanged with the lanyard provided and this tip can detect the pressure value (range from 0.0 to 1.0) and could be used for writing or drawing. The Axis Value of this event returns a floating point value, from 0.0 to 1.0, that expresses various pressure level values for the force applied on the tip, where 0.0 is no pressure, and 1.0 is fully pressed. This event fires once per frame, when input is enabled for the containing actor.
  • Oculus Touch (L) Trigger Curl CapTouch - The left controller trigger’s curl capacitive touch event. The Axis Value of this event returns a floating point value, from 0.0 to 1.0, that expresses how pointed or curled the user’s finger is, where 0.0 indicates the finger is fully pointed, and 1.0 indicates the finger is flat on the surface. This event fires once per frame, when input is enabled for the containing actor. This input is also available on Meta Quest Touch Plus controllers (Meta Quest 3, Meta Quest 3S).
  • Oculus Touch (R) Trigger Curl CapTouch - The right controller trigger’s curl capacitive touch event. The Axis Value of this event returns a floating point value, from 0.0 to 1.0, that expresses how pointed or curled the user’s finger is, where 0.0 indicates the finger is fully pointed, and 1.0 indicates the finger is flat on the surface. This event fires once per frame, when input is enabled for the containing actor. This input is also available on Meta Quest Touch Plus controllers (Meta Quest 3, Meta Quest 3S).
  • Oculus Touch (L) Trigger Slide CapTouch - The left controller trigger’s slide capacitive touch event. The Axis Value of this event returns a floating point value, from 0.0 to 1.0, that expresses how far the user is sliding their index finger along the surface of the trigger, where 0.0 indicates the finger is flat on the surface, and 1.0 indicates the finger is fully drawn back. This event fires once per frame, when input is enabled for the containing actor. This input is also available on Meta Quest Touch Plus controllers (Meta Quest 3, Meta Quest 3S).
  • Oculus Touch (R) Trigger Slide CapTouch - The right controller trigger’s slide capacitive touch event. The Axis Value of this event returns a floating point value, from 0.0 to 1.0, that expresses how far the user is sliding their index finger along the surface of the trigger, where 0.0 indicates the finger is flat on the surface, and 1.0 indicates the finger is fully drawn back. This event fires once per frame, when input is enabled for the containing actor. This input is also available on Meta Quest Touch Plus controllers (Meta Quest 3, Meta Quest 3S).

Meta Quest Touch Plus

The following input events are specific to Meta Quest Touch Plus controllers, which ship with Meta Quest 3 and Meta Quest 3S. In Unreal Engine, these events use the Oculus Touch key prefix for consistency with the Meta XR Plugin’s FKey registration.
  • Oculus Touch (L) Trigger Force - The left controller trigger force event. The Axis Value returns a floating point value, from 0.0 to 1.0, that expresses the normalized force applied to the trigger after it reaches the end of the range of travel, where 0.0 is no additional pressure, and 1.0 is maximum detectable pressure. This input is unique to Touch Plus controllers. This event fires once per frame, when input is enabled for the containing actor.
  • Oculus Touch (R) Trigger Force - The right controller trigger force event. The Axis Value returns a floating point value, from 0.0 to 1.0, that expresses the normalized force applied to the trigger after it reaches the end of the range of travel, where 0.0 is no additional pressure, and 1.0 is maximum detectable pressure. This input is unique to Touch Plus controllers. This event fires once per frame, when input is enabled for the containing actor.
Note: The Trigger Curl CapTouch and Trigger Slide CapTouch inputs documented in the Oculus Touch Pro section are also available on Touch Plus controllers.

Learn more

To learn more about using controllers in XR applications in Unreal Engine, see the following guides: