A3 - Ways of travelling

Locomotion in VR


  • Snap Turn and Teleporting
  • Continuous Movement
  • Character Controller
  • Custom Movements


Here you can find the solution app. Download the .apk file and test it in the Quest for reference.

Additional Material

Point List (max 5 points)

  • Teleport and Snap Turn with Left Hand (0.5 point)
  • Continuous Movement and Turn with Right Hand (0.5 point)
  • Teleport to Ceiling (0.5 point)
  • Cannot move through walls, but can crouch underneath (0.5 point)
  • Arm Swinging movement with both trigger buttons (0.5 point)
  • Add sound design (0.5 point)
  • Custom Movement (2 points)


Setup VR

  • Setup XR Interaction Toolkit
  • Add XR-Rig (Device-based)
  • Add floor plane

Create App

Snap Turns

  • Add XR -> Device-based -> Locomotion System
  • Go to Locomotion System -> Snap Turn Provider -> Controllers: Set to size to 2
  • Drag in LeftHandController to Element 0 and 1.
  • Test snap turn with thumb stick.


  • Add Teleportation Area component to floor
  • Test teleportation with grip button

Walking on the ceiling

  • Add a flying platform to the scene. Flip the platform such that y is down.
  • Add a teleportation area/anchor. Set Teleportation Configuration -> Match Orientation to Target Up.

Continuous Movement

  • Add Continuous Move Provider to Locomotion System. Configure Controller.
  • Add Continuous Turn Provider to Locomotion System. Configure Controller.
  • Disable Strafe on Continuous Move.

Crouching Movement

  • Make a wall with some space underneath (e.g., 50 cm)
  • Add Character Controller. Now you cannot walk through walls anymore
  • Add Character Controller Driver to Locomotion System. Now you can crouch underneath the wall.

Arm Swinging Movement

  • Copy DeviceBasedContinuousMoveProvider to ArmSwingMoveProvider
  • Get Device Velocity
  • Get Device Trigger
  • Flip movement direction
  • Add Forward Source (instead of the main camera)
  • Test also walking up a slope by adding a tilted plane

Add Sound Design

  • Add teleportation sound to Teleportation area
  • Play sound on Select Exited
  • Add background ambient soundscape
  • Add WalkingSounds Object in XR Rig. Add Audio Source. Add new script “PlayWalkingSounds”.
  • Add multiple walking clips to script.
  • Get CharacterContoller. Play walking sound when CharacterController velocity is positive.
  • Wait some time between playing clips.

Extra Task

  • Add Custom Recticle in Teleportation Area and change appearance XR Ray Interactor (0.5 points),
  • Add vignette to continuous movement (0.5 point)
  • Make world grabbing movement with inertia (0.5 point)
  • Jumping Movement including jumping between platforms (1 point)
  • Create Terrain/Level and test whether you can walk up gentle hills (1 points)

Extra Hard Task

  • Ghost Mode, where you can temporarily dash through walls (1 point)
  • Make climbing movement (1 point)
  • Make Paddling, or flapping movement (1 point)
  • Invent another custom movement (up to 2 points)