Oculus Controller Input Mapping

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

Input Bindings (UE 4.25 and later)

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.

input mapping

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.

Oculus Touch

Thumbstick touch, press, and thumb up actions

  • MotionController (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.
  • MotionController (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. Note: There is also a corresponding gamepad value blueprint (with the same name) that can be explicitly retrieved at any time.
  • 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. Note: There is also a corresponding gamepad value blueprint (with the same name) that can be explicitly retrieved at any time.
  • Oculus Touch (L) Thumb Up CapTouch - The left controller thumbstick capacitive touch event. The Axis Value returns a floating point value, from 0.0 to 1.0, that expresses how far the user's thumb is from the thumbstick, where 0.0 is as close as possible, and 1.0 is as far away as can be measured by the thumbstick. This event fires once per frame, when input is enabled for the containing actor. Note: There is also a corresponding gamepad value blueprint (with the same name) that can be explicitly retrieved at any time.
  • Oculus Touch (R) Thumb Up CapTouch - The right controller thumbstick capacitive touch event. The Axis Value returns a floating point value, from 0.0 to 1.0, that expresses how far the user's thumb is from the thumbstick, where 0.0 is as close as possible, and 1.0 is as far away as can be measured by the thumbstick. This event fires once per frame, when input is enabled for the containing actor. Note: There is also a corresponding gamepad value blueprint (with the same name) that can be explicitly retrieved at any time.

Trigger touch, press, release, and pointing finger actions

  • MotionController (L) Trigger - The left controller trigger Pressed and Released events.
  • MotionController (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. Note: There is also a corresponding gamepad value blueprint (with the same name) that can be explicitly retrieved at any time.
  • 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. Note: There is also a corresponding gamepad value blueprint (with the same name) that can be explicitly retrieved at any time.
  • Oculus Touch (L) Pointing CapTouch - The left controller pointing capacitive touch event. The Axis Value returns a floating point value, from 0.0 to 1.0, that expresses how far away the user's finger is pointing from the trigger, where 0.0 is as close as possible, and 1.0 is as far away as can be measured by the trigger. This event fires once per frame, when input is enabled for the containing actor. Note: There is also a corresponding gamepad value blueprint (with the same name) that can be explicitly retrieved at any time.
  • Oculus Touch (R) Pointing CapTouch - The right controller pointing capacitive touch event. The Axis Value returns a floating point value, from 0.0 to 1.0, that expresses how far away the user's finger is pointing from the trigger, where 0.0 is as close as possible, and 1.0 is as far away as can be measured by the trigger. This event fires once per frame, when input is enabled for the containing actor. Note: There is also a corresponding gamepad value blueprint (with the same name) that can be explicitly retrieved at any time.

Grip press and release actions

  • MotionController (L) Grip1 - The left controller grip Pressed and Released events.
  • MotionController (R) Grip1 - The right controller grip Pressed and Released events.

X or A button press and release actions

  • MotionController (L) FaceButton1 - The left controller X button Pressed and Released events.
  • MotionController (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. Note: here is also a corresponding gamepad value blueprint (with the same name) that can be explicitly retrieved at any time.
  • 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. Note: There is also a corresponding gamepad value blueprint (with the same name) that can be explicitly retrieved at any time.

Y or B button press and release actions

  • MotionController (L) FaceButton2 - The left controller Y button Pressed and Released events.
  • MotionController (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. Note: There is also a corresponding gamepad value blueprint (with the same name) that can be explicitly retrieved at any time.
  • 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. Note: There is also a corresponding gamepad value blueprint (with the same name) that can be explicitly retrieved at any time.

Thumbstick up press and release actions

  • MotionController (L) Thumbstick Up - The left controller Thumbstick Up Pressed and Released events.
  • MotionController (R) Thumbstick Up - The right controller Thumbstick Up Pressed and Released events.

Thumbstick down press and release actions

  • MotionController (L) Thumbstick Down - The left controller Thumbstick Down Pressed and Released events.
  • MotionController (R) Thumbstick Down - The right controller Thumbstick Down Pressed and Released events.

Thumbstick left press and release actions

  • MotionController (L) Thumbstick Left - The left controller Thumbstick Left Pressed and Released events.
  • MotionController (R) Thumbstick Left - The right controller Thumbstick Left Pressed and Released events.

Thumbstick right press and release actions

  • MotionController (L) Thumbstick Right - The right controller Thumbstick Right Pressed and Released events.
  • MotionController (R) Thumbstick Right - The right controller Thumbstick Right Pressed and Released events.