No announcement yet.

Enabling an extra Oculus Touch as a "VR object"?

  • Filter
  • Time
  • Show
Clear All
new posts

    [OCULUS] Enabling an extra Oculus Touch as a "VR object"?

    Hello everyone,

    Following this procedure from Oculus:

    I was able to Flash an extra Touch and it is defined as a "VR object" (in Oculus dashboard)

    The problem is... I can't get it to be seen in UE4.

    Shouldn't it be as simple as selecting the "hand"
    I tried all of these and the actor is not tracked.

    Why is this not already trivial to use?
    (I don't want to do mixed reality, just trying to have an extra tracked object)

    Motion Controller

    BP Actor using a Motion Controller component (with attached reference mesh), using UE4.18.3, tried using 4.20.1 also. Same result.

    Thank you for your insights!

    Did you try using Get Raw Sensor Data and specifying DeviceObject Zero as the device you want to get the tracking data for?
    CTO | Head of VR Development - Visit us at
    My UE4 Tutorials (mostly VR):


      Hello vr_marco ! (thank you for your reply)

      I don't know what you mean, so I guess I did not ^_^

      Get Raw Sensor Data? Isn't what the "Motion controller" node is doing?
      DeviceObject Zero ? is that different from player index? (visible on the previous attached pic)

      Here is what I do:
      Create Actor BP
      Add "motion Controller node"
      Add visible arrows and parent them to the Motion controller node.

      In Motion Controller: use Player index 0
      and Tried all the "Hand" from the drop down menu (Attached pictures)
      Of course Left and Right are the Player Touch controllers, so if I use that, that actor moves with them...

      Put the actor in the level.
      Play in VR.


        Mmmm interesting indeed:

        Looking into it...


          So using this:

          And dropdown to Device Object zero return True

          So what I don't know is how to tell that actor to follow Devive Object zero

          Why isn't that in the "motion Controller" node?


            You need to get the output of the Get Raw Sensor Data node and use it on Event Tick to update the position/rotation of your tracked actor. It will not use late updates, but it may be good enough for your application. If not, then you may need to modify the Oculus Plugin source code.
            CTO | Head of VR Development - Visit us at
            My UE4 Tutorials (mostly VR):


              Whaaat ? ^_^
              It is insane that this is not a trivial thing to do in UE4 in Mid 2018...!


                Can you try with this node:

                Which results do you get out if it?
                CTO | Head of VR Development - Visit us at
                My UE4 Tutorials (mostly VR):


                  So this node is 4.19 and up, I used 4.20.

                  This is the result of the Print:
                  Left Right AnyHand Pad ExternalCamera Gun Special_1 Special_2 Special_3 Special_4 Special_5 Special_6 Special_7 Special_8 Special_9 Special_10 Special_11


                    You can try with Enable Motion Tracking of Source and pass the name of the source as "DeviceObject Zero". Not sure it will work though. I don't have access to the Engine source code right now so I cannot check.
                    CTO | Head of VR Development - Visit us at
                    My UE4 Tutorials (mostly VR):


                      So The weird part is:
                      When I plug the BP node "is device tracked" to a print with tick, it goes to true when the Oculus camera can see it.
                      So there is definitely tracking happening.
                      It's just that "there is no way to connect it to anything"

                      DeviceObject zero... I can see you...


                        Ok we can close this topic until the feature will be added to UE4.

                        I talked with one of the UE4 engineer and the current implementation stops at "get raw data"

                        Thanks vr_marco for the insights.


                          Good to know. Hopefully it will be added soon. Anyway with the velocity outputs of Get Sensor Raw Data, you can just do one Euler integration on Event Tick to get location and rotation of the tracked device:

                          Location[this frame] = Location[previous frame] + Linear velocity * Delta Time

                          Same for rotation using angular velocity.
                          CTO | Head of VR Development - Visit us at
                          My UE4 Tutorials (mostly VR):