18: Moving around in VR

Unless your VR experience is a roller coaster or some other sort of rail-based experience, you shouldn’t take movement control away from the user. Lack of movement control can cause VR sickness.

Here are a couple of approaches for user-controlled movement in VR:


An obvious hangover from non-VR first-person games, moving around with a gamepad is an easy way to provide movement in your 3D space. You can still look around using orientation-based movement.

D-pad to move back/forward/left/right and an additional button to jump or interact.


A movement device that is becoming more prevalent in VR is teleportation. If you’ve got some sort of motion-controls (such as the Vive controllers) in typical VR this is quite easy to achieve. In Google Cardboard WebVR experiences you’ll need to rely on retical-based movement.

The user is projects a circle or marker to where they want to move to, and then they are teleported there.

In my day 12 hack – AAAAH! Zombies – I used retical-based teleportation. I actually stole this from Pete’s earlier day 11 hack: Blink.

Voice control

I played around with this in day 09’s hack: Speech Recognition to move a ball around, but it could easily be adapted to moving the user around. Simple commands such as “move forward 10” or “move left 5”, much like the old Television series “Knightmare” where the team command their blind team-mate around with commands


Something I’ve been thinking about (but have yet to execute) is gesture-based movement. This would be something like listening for a motion pattern (such as nodding your head) and acting based on that.

You could more simply make the user move in the direction they’re looking when the screen is touched for a period of time.

Recently I played an Android game (Gravity Pull) that used a method of movement called “VR-Step”. VR-Step uses “Inertial sensing” to allow you to move in the direction you’re looking. You can see how it works here:

See also:

Cardboctober day 18

Check out all of my other Cardoctober posts here: /cardboctober.


Want to comment? You can do so via Github.
Comments via Github are currently closed.


Want to reply? I've hooked up Webmentions so you can do so by sending a Webmention, or a Tweet mentioning this post.

Sent a Webmention but it's not showing up below? It could take a little while for brid.gy to pick it up. Webmentions are cached locally for 30 mins before attempting to fetch new Webmentions.