Getting rid of the motion controller pawn - or "Why the VR template sucks"...

OK just kidding - the VR template is not bad. But using the motionControllerpawn is… short sighted. It does not offer collission and only the float movement so i float around like a ghost. With hands. Cool. But at one time i decided i wanted a real body (Not just hands). And that is when the problems began… Worst part is probably that i put my controls (Analog sticks o move besides the obvious teleport that is great) in the Motion Controller pawn. SO making a playercontroller did nothing - i guess the inputs just conflicted. A solution was to delete the motionControllerPawn, set default pawn to Character and making a new PlayerController. Which sucks because a) I’d want to keep both - the motionControllerpawn AND the new characterpawn. Not possible inmy setup. And the new PlayerController had some serious issues - at least with mouse when pitch suddenly became roll from mouseY and other unexplained phenomenas.

TLDR -What’s the best strategy to have a VR pawn with clipping (like collission) movement input? I do like the Motion Controller hands and teleport. Any suggestions? I tried possess and such, but with my current MotionControllerPawn and it’s included controls it was eating up all input no matter what i did, so probably i have to get rid of that. best approach?

The reason the MotionControllerPawn doesn’t really need collisions is that it uses a Navigation Mesh. The navigation mesh takes care of excluding the areas you should not teleport into because something else is there. You can always add some navigation modifier volumes if you want to block additional areas.

If you want to have a body and adopt a thumbstick locomotion method, the way to go is to derive your VR Pawn from Character instead of Pawn. In this way you get by default a collision capsule plus a MovementComponent which is pretty advanced, including gravity handling so you don’t “float around like a ghost”. :wink: In this way you can control your Pawn with Add Movement Input and the like. And you can give yourself a body using some IK.

Even with this setup though there is nothing preventing you from sticking your head through a wall if you want to do so. To prevent/handle that, you need to either write some additional logic to darken the vision once your head tries to get through a wall or include a ready-made solution like the one implemented by Mordentral’s plugin.

I am sure once you get your Pawn setup right you will start having a much better experience in VR.


I’d recommend Mordentral’s VRExpansion plugin. Attempting to rig proper vr character collision on top of a default character is extremely complicated and probably a waste of time. Results will be highly nauseating unless you are doing things very efficiently in exactly the right order, which mordentral has already figured out how to do.

Honestly the plugin’s character or something similar should probably be part of the vr template. The character movement issue is something that a LOT of people are going to want but it’s not really obvious what the best way to do it is. At the very least there should be a vr character movement component in the engine.