The Unity XR Interaction Toolkit includes what they call the Locomotion System, a framework for managing the relocation of the player rig at runtime. They use the word Locomotion to encompass both teleportation and my narrower definition of locomotion. By my definition, locomotion refers to a smooth movement of the player in the scene, whereas teleportation refers to a discrete jump from one location to another. The XRI Locomotion System has an architecture that can be extended with custom Locomotion Providers, some of which they provide, and others you can write, such as the GlideLocomotion and ClimbController components we developed earlier in this chapter.
In this section, we will introduce the architecture of the XRI Locomotion System, Locomotion Providers, and its control-locking protocol for managing user interactions. We will then install the XRI examples assets, provided separately by Unity, into our project.