Skip to content

Instantly share code, notes, and snippets.

@onelivesleft
Last active April 7, 2024 11:23
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save onelivesleft/d98c4be8e5c680189f09a85d33a4af2d to your computer and use it in GitHub Desktop.
Save onelivesleft/d98c4be8e5c680189f09a85d33a4af2d to your computer and use it in GitHub Desktop.
Tabletop Simulator VR update

Tabletop Simulator VR controls update

The goal is to provide a more intuitive VR experience; closer to how you would play a board game IRL. This is still in development, consider it an alpha test! To enable the new control scheme type -vr_controls_original into the system console.

Note

Various commands in the system console govern vr behaviour: type help vr to see them. For example, turning vr_sticky_grab on will mean you do not have to hold the trigger to maintain grip on an object; instead you press to grab, then press again to release. If you want these commands to persist then add them to your autoexec (type edit autoexec and enter them there).

You can quickly switch between old and new controls if you do something like bind right_control !vr_controls_original (...you can then hit right control to toggle)

Changes

Laser pointer now turns on and off as the player touches the touch pad, and is oriented like a pointer rather than a gun (it now matches the default steam keyboard laser).

Selection box now drawn from controller position instead of laser position.

Controls

Touchpad when not holding an object:

  • Center = click (buttons, UI, etc.)
  • Up = teleport
  • Left & Right = Mapped tool. Hold left or right to bind current tool to that button.

Touchpad when holding an object:

  • Center = flip
  • Left & Right = Rotate

Grip buttons now let you move (holding one controller) or rotate/scale (holding both). Holding any grip button will display control layout.

Holding menu button will reset your position.

Trigger now used exclusively to interact with 3D world

Advanced

The touchpad controls when not holding an object are set using the console bind command, and can be overwritten, so you can bind any command you want to the touchpad if you wish (left, right, and up if you disable teleport; down and center are reserved). For example: bind vr_right_pad_left !vr_laser_constant will toggle the laser on and off when you hit left on the right controller's touchpad. You can use -, +, and ! bind prefixes to bind to press, release, and long press respectively. Use vr_unbind_all before binding your own to remove the default bindings.

Example autoexec

-vr_controls_original
vr_unbind_all
bind +vr_right_pad_left tool_grab
bind -vr_right_pad_left tool_revert
bind +vr_right_pad_right tool_paint
bind -vr_right_pad_right tool_revert

This will mean for the right controller, as long as you hold the left pad you will be in grab mode, and as long as you hold the right pad you will be in paint mode.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment