Controller Input Mapping
This reference section describes how to map Oculus controller actions (such as thumbstick presses) to input events or controller events.
For Unreal Version 4.25 and later, the motion controller events described in the following sections do not apply
Instead, you must map Oculus Touch events in your app’s input bindings.
Access the input mapping in Unreal from Edit > Project Settings and navigating to Engine > Input
Action mappings are used for key presses, and Axis mapping describe inputs that have a range.
The following image shows an example Action Mapping settings.
Controller Event Descriptions On older versions of Unreal, when a user invokes an action on the Oculus Touch controller, such as pressing a button, your application can handle the resulting events by using the Blueprints described in this section.
The most common controller actions can be accessed via the standard Unreal MotionController API. These types of controller input tend to be supported across VR platforms.
In addition, Oculus provides several Oculus-specific controller actions. 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. The Oculus-specific events can be accessed via the Oculus-specific Blueprints.
Both the Unreal MotionController Blueprints and the Oculus-specific Blueprints are covered in the following reference sections.
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 the 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 the 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

- Oculus Touch (L) Grip1 - The left controller grip Pressed and Released events.
- Oculus Touch (R) Grip1 - The right controller grip Pressed and Released events.
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 right controller Thumbstick Right Pressed and Released events.
- Oculus Touch (R) Thumbstick Right - The right controller Thumbstick Right Pressed and Released events.
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.
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.
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.
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.
To learn more about using controllers in XR applications in Unreal Engine, see the following guides: