UE4 - Oculus Touch Controller mesh
This is just by way of a quick tip (and reminder for myself later on when I forget) ...
If you want cool Oculus controllers in your game, follow these steps:
Go to Content Browser View Options and choose Show Engine Content.
Search Oculus and you'll see an asset called: StaticMesh'/Engine/VREditor/Devices/Oculus/OculusControllerMesh.OculusControllerMesh'
For some reason there is only one there. Probably to be efficient...
If you are using a template like the VRContentExamples by Mitch's VR Lab then your controller might just be represented by a sphere. This is set in the pawn class.
[Mitch's VR Lab is a good starting point for VR in UE4]
To change the Sphere to a regular controller mesh, go to the pawn actor in the level (such as VRTraceInteractPawn) and edit its blueprint. Look at its variables and replace the Sphere mesh with the engine asset: OculusControllerMesh.
You'll also want to match the material of both Left and Right to the engine controller's material, because the Sphere uses somes default grey material. Or you could add your own.
You may need to add an extra MotionController component for the right hand too.
Just reproduce the steps in the EventBeginPlay sequence for the right controller.
You may need to scale by -1 the Y axis of the right controller mesh to flip it to the correct angle because the left and right controllers are mirrors of each other.
To set the properties of the MotionController component the static mesh is parented to, look in the Details panel and set Motion Controller > Hand : Right. If you don't it won't work.
The EventBeginPlay in the Event Graph should already have a sequence with an event called CheckForMotionControllers which handles the left controller. To add the right one, just repeat the same blueprint and switch the Left related variables to Right variables.
The next step would be to convert the static mesh to a rigged skeletal mesh, so you can drive the thumbsticks and push the buttons using an anim blueprint.
In the video, the Right controller is missing its ring. I am not sure if this is my fault or just because there is currently no functionality mapped to the right controller in my project to make it highlight.