Design

Artificial locomotion input maps

Updated: May 7, 2025
Enable users to navigate virtual worlds using artificial locomotion. This page includes our recommended input modalities and their mapping details.
It is possible to create custom locomotion interactions tailored to an application. Following this guide, however, will help establish a standard that allows users to seamlessly switch between applications without having to relearn the controls, improving their ability to intuitively explore virtual environments.

Controller-based locomotion

Using controllers for artificial locomotion is a popular and effective method to enable users to move seamlessly within a virtual environment. This method leverages the familiarity of gamepad thumbsticks, making it easier for some users to learn.
As learned in the core locomotion types, depending on the user’s preference—be it slide, teleport, or multimodal (one controller)—the controls on the controllers can vary as follows:

Teleportation

R1. Thumbstick up
Teleport
Hold the thumbstick up to display the arc and the reticle. Aim at the desired location and release the thumbstick to teleport.
R2. Thumbstick click
Cancel teleport
While the thumbstick is pushed up and the arc and reticle are displayed, click (push down) the thumbstick to exit.
R3. Thumbstick sideways
Snap/smooth turn
Users can turn left or right by pushing the thumbstick sideways. Based on their preference, they either snap or smooth turn.

Snap turn: quickly snapping the thumbstick sideways turns the user in that direction. Holding it sideways continues to turn the user in increments of a set angle as long as the thumbstick is held.

Smooth turn: The user continuously turns in the direction the thumbstick is pushed, for as long as it is held in that position.
R4. Thumbstick down (optional)
Crouch/stand
Push the thumbstick down to crouch. Push it down a second time to stand back up.

If not using the Crouch/Stand Up feature, leave this control empty.
L1. Thumbstick up
Teleport
Hold the thumbstick up to display the arc and the reticle. Aim at the desired location and release the thumbstick to teleport.
L2. Thumbstick click
Cancel teleport
While the thumbstick is pushed up and the arc and reticle are displayed, click (push down) on the thumbstick to exit.
L3. Thumbstick sideways
Side steps
Quickly snapping the thumbstick left or right moves the user one step (~50 cm) in the desired direction. Holding it to the side allows the user to take multiple steps left or right as long as the thumbstick is held in that direction.

If not using the side steps feature, we recommend using Snap/Smooth Turn (similar to the right controller).
L4. Thumbstick down (optional)
Back steps
Quickly snapping the thumbstick down moves the user one step (~50 cm) back. Holding it down allows the user to take multiple steps back as long as the thumbstick is held.

If not using the back steps feature, leave this control empty.

Slide

R1. Thumbstick sideways
Snap/Smooth turn
Users can turn left or right by pushing the thumbstick sideways, based on their preference they either snap or smooth turn.

Snap turn: Quickly snapping the thumbstick sideways turns the user in that direction. Holding it sideways continues to turn the user in increments of a set angle as long as the thumbstick is held.

Smooth turn: The user continuously turns in the direction the thumbstick is pushed, for as long as it is held in that position.
R2. Thumbstick down (optional)
Crouch/stand up
While the thumbstick is pushed up and the arc and reticle are displayed, click (push down) the thumbstick to exit.
R3. Button A
Jump
Pressing the A button performs a jump, whether the user is standing or moving (using the left controller). Jump will not work while virtually crouching.
L1. Thumbstick all directions
Slide
Press the thumbstick in any direction to move in that direction. Release the thumbstick to stop the slide.
L2. Thumbstick click
Sprint
While the thumbstick is aimed in a direction, pressing the thumbstick down will make the user move even faster. Sprint will not work while virtually crouching.

Multimodal

Teleportation

1. Thumbstick up
Teleport
Hold the thumbstick up to display the arc and the reticle. Aim at the desired location and release the thumbstick to teleport.
2. Thumbstick click
Cancel teleport
While the thumbstick is pushed up and the arc and reticle are displayed, click (push down) the thumbstick to exit.
3. Thumbstick sideways
Snap/Smooth turn
Users can turn left or right by pushing the thumbstick sideways. Based on their preference they either snap or smooth turn.

Snap turn: Quickly snapping the thumbstick sideways turns the user in that direction. Holding it sideways continues to turn the user in increments of a set angle as long as the thumbstick is held.

Smooth turn: The user continuously turns in the direction the thumbstick is pushed, for as long as it is held in that position.
4. Thumbstick down (optional)
Back steps
Quickly snapping the thumbstick down moves the user one step (~50 cm) back. Holding it down allows the user to take multiple steps back as long as the thumbstick is held.

If not using the back steps feature, leave this control empty.

Silde (experimental)

Ongoing explorations are underway to optimize slide locomotion for single-controller operation. Currently, for multimodal interactions, we recommend using teleportation (see section above). Below are key findings we have gathered so far:
1. Thumbstick all directions
Slide
Press the thumbstick in any direction to move in that direction. Release the thumbstick to stop the slide.
Option 1. Thumbstick click
Snap/Smooth turn
Users can turn left or right by pushing the thumbstick in and then moving it left or right. Based on users preference they either snap or smooth turn.

Note: Be cautious with using thumbstick clicks, as accidental clicks may occur, particularly when users are in a hurry.
O2. Thumbstick flick
Snap turn
By flicking the thumbstick sideways, users can snap turn left or right.

Note: Using the flick to turn will only allow users to snap turn and not smooth turn (if that is their preference). Differentiating a flick from a hold requires diligent implementation iterations and may be user-specific.
O3. Grip button
Snap/Smooth turn
By pressing the grip button, the thumbstick can be used for turning left or right. Based on their preference, users can either snap or smooth turn.

Note: Using the grip button to alter the thumbstick's input from slide to turn locomotion may not be intuitive and can interfere with interactions such as grabbing or holding onto an object.

Hand-based locomotion

Hand-based locomotion enables users to navigate virtual environments using hand inputs. This method is still experimental but offers a compelling alternative as it eliminates the need for traditional controllers.
Explore various applications experimenting with hand-based locomotion in the Meta Quest store. Although still experimental, here are some recommendations for designing hand-based locomotion systems:

Hotspot-based locomotion

Example from Meta Horizon Workrooms - Seat selection

The simplest way to implement user locomotion is through hotspots, which users can select either through a user interface or by ray casting when the hotspot is in view. This method facilitates movement from one interactive area to another.

Gesture-based locomotion

Example from Meta Interaction SDK, using Microgestures

Gesture-based locomotion allows users to move around in a virtual world by performing specific hand gestures. Find examples in the Interaction SDK, which are customizable to fit specific needs. Key design considerations include:
  • Gating: how users enter and exit locomotion mode.
  • Interaction: how users move and interact while in locomotion mode.

Gate

A gate is the transition between idle state and locomotion mode. It allows users to enter and exit locomotion mode while still interacting with the environment. The gate is essential for several reasons:
  • Midas touch: it prevents constant, unintended locomotion, which can be more disruptive than accidental UI interactions or object grabs. This feature ensures that users do not accidentally initiate movement, enhancing control and reducing frustration.
  • Conflict avoidance: the gate ensures that locomotion commands do not interfere with other interactive actions within the environment.
An effective gate should have the following characteristics:
  • Unambiguous: clearly distinct from other interactions to avoid conflicts.
  • Fast: quick to activate, mirroring the immediacy of natural walking or running.
  • Simple: easy to learn and remember, following established usability standards.
  • Compatible with grabbing: allows users to maintain their grip on objects while initiating locomotion.
  • Cancellable: offers users the option to exit locomotion mode after activation.

Locomotion mode

Once the gate is activated, users enter locomotion mode, where they can move and interact within the virtual environment using their chosen locomotion type. During this mode, it’s crucial to consider how users will interact using their hands for locomotion.
  • Fast: enables quick activation of multiple teleportations, snap turns, and direction changes.
  • Simple: easy to perform without looking at the hands; use visuals to cue the user on how to interact.
  • Compatible with grabbing: users should not need to release objects they are holding to locomote, ensuring parity with traditional controller-based systems.
Locomotion types: aim to provide all core locomotion types, including movement styles (teleport and slide) and turn styles (snap and smooth turn). If not feasible, offer comfort-oriented options like teleportation and snap turns. If an application does not support the recommended comfort types of locomotion, inform users at the start of the app. This transparency helps users determine if AN app is suitable for them, based on their comfort level.

Other input-based locomotion

Other input-based modalities that are not listed here still need to be defined. As time passes, technology and experiences will evolve, and standards will be established. When promising explorations and standards emerge, they will be documented here.
Did you find this page helpful?
Thumbs up icon
Thumbs down icon