Multiplies each real world step within the play area to enable further distances to be travelled in the virtual world.

Optional Components:

  • VRTK_ControllerEvents - The events component to listen for the button presses on. This must be applied on the same GameObject as this script if one is not provided via the Controller Events parameter.

Script Usage:

  • Place the VRTK_StepMultiplier script on either:
    • Any GameObject in the scene if no activation button is required.
    • The GameObject with the Controller Events scripts if an activation button is required.
    • Any other scene GameObject and provide a valid VRTK_ControllerEvents component to the Controller Events parameter of this script if an activation button is required.

Inspector Parameters

  • Activation Button: The controller button to activate the step multiplier effect. If it is Undefined then the step multiplier will always be active.
  • Movement Function: This determines the type of movement used by the extender.
  • Additional Movement Multiplier: This is the factor by which movement at the edge of the circle is amplified. 0 is no movement of the play area. Higher values simulate a bigger play area but may be too uncomfortable.
  • Head Zone Radius: This is the size of the circle in which the play area is not moved and everything is normal. If it is to low it becomes uncomfortable when crouching.
  • Controller Events: The Controller Events to listen for the events on. If the script is being applied onto a controller then this parameter can be left blank as it will be auto populated by the controller the script is on at runtime.

Class Variables

  • public enum MovementFunction - Movement methods.
    • Nonlinear - Moves the head with a non-linear drift movement.
    • LinearDirect - Moves the headset in a direct linear movement.


VRTK/Examples/028_CameraRig_RoomExtender shows how the Step Multiplier can be used to move around the scene with multiplied steps.