extends VRTK_BaseObjectControlAction


Provides the ability to move a GameObject around by sliding it across the x/z plane in the scene by updating the Transform position when the corresponding Object Control axis changes.

The effect is a smooth sliding motion in forward and sideways directions to simulate walking.

Required Components:

  • VRTK_ObjectControl - The Object Control script to listen for the axis changes on.

Optional Components:

  • VRTK_BodyPhysics - The Body Physics script to utilise when checking for potential collisions on movement.

Script Usage:

  • Place the VRTK_SlideObjectControlAction script on any active scene GameObject.
  • Link the required Object Control script to the Object Control Script parameter of this script.
  • Set the Listen On Axis Change parameter on this script to the axis change to affect with this movement type.

Inspector Parameters

  • Maximum Speed: The maximum speed the controlled object can be moved in based on the position of the axis.
  • Deceleration: The rate of speed deceleration when the axis is no longer being changed.
  • Falling Deceleration: The rate of speed deceleration when the axis is no longer being changed and the object is falling.
  • Speed Multiplier: The speed multiplier to be applied when the modifier button is pressed.
  • Body Physics: An optional Body Physics script to check for potential collisions in the moving direction. If any potential collision is found then the move will not take place. This can help reduce collision tunnelling.


VRTK/Examples/017_CameraRig_TouchpadWalking has a collection of walls and slopes that can be traversed by the user with the touchpad. There is also an area that can only be traversed if the user is crouching.

To enable the Slide Object Control Action, ensure one of the TouchpadControlOptions children (located under the Controller script alias) has the Slide control script active.