Basic Locomotion

The VRcharacter is just a heavily modified engine character, as such adding movement to it is fairly simple.

AddMovementInput just directly works like with a normal character, the control code for the character has already been modified to take the HMD offset into account and rollback / replay hmd movements.

The main thing to consider is how you want to manage orientation and speed, the template character uses no acceleration and has examples of multiple different orientation options (though there are many other ways of doing it like blended hand/head).

Smooth locomotion is fairly straight forward, take the orientation you want, project it onto a 2D plane, and add movement input in that direction. Things like running in placeĀ  and arm swing can be done by sampling hand / head velocities and low pass filtering them to clamp within a movement input magnitude. The template also has examples of some of these in a bare bones form.