Oculus Go controller blueprint.

Has anyone had any experience setting up a simple Oculus Go controller blueprint? Have managed to get my scene over to my headset, but struggling to get the controller moving.

I read various opinions on the SamsungVr being able to work on the device but this doesn’t seem to work for me. I have managed to deploy from 4.19.

Thanks for any help.

I am confused by your question. The Go comes with an own 3DOF controller but apparently your are trying to use a different one with it and it doesn’t work?

Hi ,

I read the that the GearVR controller would work with the Go apart from the trigger element of the controller.

Have tried using the UE4 GearVR template but doesn’t work for me which i’m guessing is probably correct.

Its a shame there isn’t a blueprint for the GO to see how the MotionControl is put together. Have tried
putting one together but struggling to get correct movement.

If you follow the setup for the GearVR, this is exactly how the Go works as well. As an alternative, follow the recommended setup on the Oculus dev site.

It is always Pawn root —> VROrigin (scene component) —> Motion Controller component

There is really not much more to it than that.

Thanks , will look at the Gear Setup in more detail.

Hi ,

Assume you need to map the Controller in the Engine Input? Doesn’t seem to be much documentation on this. Can get my pawn looking around once deployed but need to set the basic movement up.

Thanks for any help

I have the same issue. In fact, I don’t seem to get any input at all from the controller, which I suspect is the problem.

I came up with the following level blueprint to check that I am actually getting something from the controller, but this does not work on the Oculus Go. Nothing happens when I hit the trigger.

It DOES work when I run it locally on my computer (and I hit “N”).


You don’t necessarily need to map the controller events to input events, even if it is good practice to do so. I have posted some time ago a map of the Go controller events, you can look it up on this forum. Or consult the Oculus dev documentation for UE4.

Thanks for your help

I am still struggling to figure out how you set the motion controller up. Not too much documentation on this by Unreal. Although the GearVr scene is useful it doesn’t show the inputs for the actual controller, and what nodes need connecting. I can deploy my scene to the Oculus Go and have head rotation but still struggling to get a basic movement of forward and back. Will probably ditch this for now and head back to my trusted Vive until there’s more clarity.

Does anyone know if there is some kind of input manager plugin available…would be pretty useful.

The Go controller works exactly like any other controller. I have made and shared a mapping of the input controls here: [Oculus Go] Key mapping for Input Events - XR Development - Epic Developer Community Forums

If you want to move forward for example, you can use the touch pad Y axis for it. If you are already familiar with the Vive, it is exactly the same. In case open a new thread with some information about what you are trying to achieve (your BP’s and control mapping) and you will get further help from the community.

Also check this out, it is everything you need to know:

Hi ,

Thank you for your help and patience!

Afraid my Android experience is rather lacking compared to my Desktop Vr - but any further pointers or tips would be very much appreciated!

Have bought in your confirmed input controls, and have been hunting around on the forums and Youtube to try and work out what these need to be plugged into.
If you know of any guide to further get where I want to be, please feel free to share ; )

My aim at the moment is to get the motion controller working with simple left, right, and back and forth motion.

Once again many thanks for the pointers

That’s what I was pointing earlier. Once you have identified the proper input events, there is no difference between the Go and the Vive/Rift. If you want to move forward, get the Thumbstick Y Axis input, feed it into an AddActorWorldOffset and you are good to go. Same for rotation, etc. You can even easily adapt the standard VR Template to make it work with the Go. Just adapt the MotionControllerPawn code for Begin Play according to your your example above and you are in business.

Once again thanks for your help !..no doubt I will be back with more questions ; )

Hi ,

Would all these Thumbstick controls be plugged into one AddActorWorldOffset?

Many thanks

Not all of them. Usually you take the controller axis, say the Y, and map it to a movement of the actor. The Y axis typically is mapped to the forward/backward movement. The direction of the movement is therefore given by the Forward Vector of your actor (the VR pawn in this case). So you multiply the output of the axis input [0…1] by the direction vector (Forward Vector) and by a float >1.0 which represents the “speed” of movement, then pass the result to AddActorWorldOffset.

In pseudo code something like:

AddActorWorldOffset( ControllerYAxis.Value * GetActorForwardVector() * SpeedOfMovement )