Tabletop Simulator

Tabletop Simulator

View Stats:
Tabletop Simulator > VR Support > Topic Details
 This topic has been pinned, so it's probably important
One Lives Left Jul 11, 2018 @ 1:12pm
VR Beta info : UPDATED 7th Mar 2019 v11.1
VR Beta

VR in Tabletop Simulator is under active development, and as such is changing all the time. This thread will be updated each patch with any changes relevant to playing in VR. Both Vive and Rift are supported, though control layout may change where necessary (due to thumbstick for instance).


Reverting to original controls

If you would rather just go back to how the VR controls used to work then you can do that in the VR settings UI or via this command in system console:

  • +vr_controls_original

Note that this will is likely to be deprecated at some point.


v11.1 VR changes

  • Updated to SteamVR action+binding system.
  • VR controllers can now act as a joypad for control binding; turn on Joypad Emulation in the VR settings, and make sure the Controller option at the bottom of the Controls window is ticked.
  • Using above, most normal control bindings should work where approriate in VR (e.g. Copy, Paste, Flip, etc.)
  • Can now attach the VR UI screen to a controller: rotate your wrist as if you were looking at your watch.
  • Added Drawings, Text, Gizmo, Snap, and Decal tools.
  • Fixed Zone tools, Line tool (displays measurement, arrow ping).
  • Fixed objects (such as chess pieces) warping into upright rotation on grab (now smooth-moves)
  • Trigger Click Effect now known as Orient Object
  • Orient Object action should now work on all card-like objects (dominos, mahjong tiles, etc). Also works on jigsaw pieces: will rotate them to next 90-degree angle.
  • Fixed snap points.
  • Made resize room visual effect less opaque.
  • Fixed non-hands objects being picked up by VR virtual hand.
  • Fixed tooltips & icons on Oculus Rift.
  • Pad bindings now use compass notation (i.e. vr_left_pad_north = left controller, up on pad)


VR settings

The VR settings UI allows you to tailor your VR experience to your own preferences. All the settings it contains also have a console command; you may script them or bind them in the console (see VR Commands below).

New items added to the VR settings dialog in v11.1:
  • Physical UI Screen, Attached UI Screen, UI Scale - Control how the VR UI Screen is displayed.
  • Display VR Players - Can select whether other VR players are visible (off, hands-only, hands+headset)
  • Wall mode - will rotate room so the table is vertical.
  • Align Zoomed Object - Zoom object now matches rotation of the object it is displaying.
  • Grabbing Hides Gem - Hides controller gem when holding on object.
  • Hover Tooltips - Display UI hover tooltips above controller.
  • Interface Click Threshold - When the interface click action is bound to an analog input it will use this value.
  • Laser Activation Threshold - When laser activation is bound to an analog input it will use this value.
  • Laser Beam Thickness, Laser Dot Size - Control how big the laser pointer is.
  • Left Tool Hotkeys & Right Tool Hotkeys - Bind the default tool select hotkeys to the pad.
  • Tooltips Action Enabled - Can be turned off here to disable tooltips (instead of having to unbind the action).
  • Floor of mist - change the floor.


Current VR Controls*

*Subject to change!

Vive

  • Touching the pad will activate the laser, and clicking the center will Click on whatever you are aiming at.
  • Grab/Tool is bound to Trigger.
  • Movement is bound to Grip.
  • Menu is bound to the Application button.

Rift

  • Squeeze the trigger to activate the laser, and pull it to Click on what you're aiming at.
  • Grab/Tool is bound to Grip
  • Movement is bound to A/X
  • Menu is bound to B/Y

Other VR Hardware


Common

  • Hold the Movement button on one controller to move as if you are pulling yourself around, or on both controllers to rotate + scale.
  • Hit the Menu button to display the system menu on the UI screen, or hold the Menu button for 3 seconds to reset your position.
  • Pad Left, Right and Up are used as tool hotkeys: click them to use the tool they show, or hold them to store your current tool. (You may disable tool bindings on either or both controllers, inside the VR settings window).
  • Pad Down is Zoom.
  • Zoom turns the controller into a zoomed-in version of the last active object. Clicking Pad Down will keep the controller in zoom mode until you click it again, and if you touch Pad Left or Pad Right while zoomed you can alter the scale of the object.
  • Objects may be activated either by touching them with the gem, or by pointing at them with the laser beam. If an object is active then you can Grab it or Click on it (for context menu).
  • While holding an object the pad will change function depending on what the object is. In general pad left and pad right will rotate it, and pad up will flip it.
  • Clicking the Trigger while holding an object will toggle the Orient Object action: a card/domino will straighten and hide from other players, a jigsaw piece will rotate to next 90-degree step.

SteamVR Action+Binding : Customize Controls

SteamVR's new action + binding system means that you may customize the control scheme almost without limitation. It also means that you can get unsupported hardware to work simply by setting up your own control scheme.

You may access the controller binding interface inside VR or on your desktop in a web browser.


Click on TableTop Simulator, then on the binding you want to edit, or create binding to make a new one.

There are some actions deemed "Mandatory" that you will need to assign (Grab and Main Menu), and a lot more that are "Suggested". This would be a simple minimal setup:

  • Grab on grip (use as button : held)
  • Main Menu on a button (click)
  • Enable Movement on a button (held)
  • Activate Laser Pointer on trigger pull
  • Interface Click on trigger pull
  • Orient Object on trigger click
  • Peek on trigger press
  • Display Tooltips on the same binding as Enable Movement

Touchpad for context actions:
  • North/South/East/West/Center Touch on relevant Touchpad Touch
  • North/South/East/West/Center Click on relevant Touchpad Click
  • Pad Click on touchpad use as button : click

Joystick for context actions:
  • North/South/East/West Touch + Click on joystick directions
  • Center Click & Pad Click on joystick click (use as button)
  • Center Touch on joystick touch (use as button)

You might have to add Pose and Haptic bindings: in Pose set Left Hand Raw / Right Hand Raw to Pose, and all Haptics set to Haptics.


Of course, you are free to bind everything to suit yourself, and if you make a good layout you can upload to the workshop for others to use too.

For example, say you wanted to only use the right controller to pick up and manipulate objects, thus freeing up the left controller's pad for any other actions you wished. Go into the Controller Binding in SteamVR settings, hit the Edit these bindings button (and untick Mirror Mode if it is on), and on the left controller hit the bin icon next to the pad sections which are bound to NORTH_TOUCH, NORTH_CLICK, etc. The left controller will now no longer send those actions to TTS - make sure you leave its Button # bindings intact. In TTS, turn on Joypad Emulation in the VR Settings UI, and then on the standard Controls window you can tick the Controller checkbox at the bottom, and then use each direction on the left pad for any useful action in that window you wish. Note that some actions have a VR specific version which is not compatible with the standard actions (don't use the standard Grab action for instance; use the Grab action in the SteamVR Controller Binding UI instead).


Editting autoexec

You can do this in TTS by typing edit autoexec in the system console, or out-with the game (with notepad for example) by editing this file in your user folder: Documents\My Games\Tabletop Simulator\autoexec.cfg
As of v11 you no longer need to do this to make most commands store their setting; they will do that automatically. However, you may wish to edit autoexec in order to set up more personalized bindings (see below).


VR commands

You no longer need to use console commands to customize your VR experience as you can access all the most relevant ones for VR in the VR Settings UI. However, the commands are still there and if you want to use them you are free to do so. Any command which is an ON/OFF command can be set by typing it with a prefix: + will turn on that setting, - will turn it off, ! will toggle it. For example, +vr_wall_mode will enable wall mode, while !vr_wall_mode will turn it off if it is on, and on if it is off.
The command version of the settings is probably most useful for allowing you to bind the setting to a button on the VR controller. To make this persist you must put it in your autoexec. For example, if you unticked the Left Tool Hotkeys option in the VR settings, you would free up the left controller pad for your own bindings (while not holding something). You could then edit your autoexec to something like:
bind vr_left_pad_west sendkey Keypad1 bind vr_left_pad_north !vr_ui_floating bind vr_left_pad_east add vr_mode_ui_attachment 1 3
This sets the left pad to:
  • left on the pad (west) emulates a keypress: 1 on the numeric keypad, i.e. Scripting 1
  • up on the pad (north) toggles whether the UI screen will be on the wall or floating in world space.
  • right on the pad (east) will cycle the UI screen attachment when it is not on the wall: floating above the table, attached to left controller, attached to right controller.

To investigate the VR commands in the console, type help vr; this will give you a summary of them all. Type help <command> to get specific info on <command>.


New in v11.1:

  • sendkey
  • vr_display_network_players_off
  • vr_display_network_players_hands
  • vr_display_network_players_all
  • vr_grabbing_hides_gem
  • vr_hover_tooltips
  • vr_interface_click_threshold
  • vr_joypad_emulation
  • vr_laser_activation_threshold
  • vr_laser_beam_thickness
  • vr_laser_dot_size
  • vr_left_controller_bind_tool_hotkeys
  • vr_mode_display_network_players
  • vr_mode_ui_attachment
  • vr_right_controller_bind_tool_hotkeys
  • vr_tooltips_action_enabled
  • vr_ui_attach_left
  • vr_ui_attach_right
  • vr_ui_detached
  • vr_ui_floating
  • vr_ui_scale
  • vr_ui_suppressed
  • vr_wall_mode
  • vr_zoom_object_aligned

Renamed

  • vr_thumbstick_repeat_duration -> vr_interface_repeat_duration
  • vr_trigger_click_effect_delay -> vr_orient_object_delay

Removed

  • vr_cards_held_like_in_hand
  • vr_tooltips_when_gripping
  • vr_trigger_activates_laser
  • vr_trigger_activates_ui
  • vr_trigger_click_effect
Last edited by One Lives Left; Apr 4, 2019 @ 5:32pm
< >
Showing 1-15 of 29 comments
Zero-Integral Aug 24, 2018 @ 11:08pm 
Nice! Is there any way to bind the A and X buttons of the Oculus Touch controllers to anything?
One Lives Left Aug 26, 2018 @ 4:34am 
Not currently because the current version of SteamVR doesn't allow it. However, we should be moving to the beta version sometime soon, which will. Definitely something we want to make available.

EDIT: Yes as of v11.1
Last edited by One Lives Left; Mar 2, 2019 @ 3:55pm
locoparentus Aug 26, 2018 @ 4:51am 
Are you going to be running a seperate Beta Branch for VR ?
It would allow quicker and better feedback and tweaking if its temporerily ran along side the main branch. You could then make lots of little changes without constantly needing to update for everyone else till its ready to roll out.

My personal suggestion would be to tie that in to a dedicated new channel on the official TTS Discord, Something its currently lacking.

As of right now there is no one good spot for VR users and Dev's to have a good back and forth over what's currently working and whats not.
Wookie Aug 29, 2018 @ 4:37pm 
The VR controls are getting really good now.

I'd still really like the menu to not be on the wall, I keep finding the draw option a pain as you want to see that you are drawing cards, or in some cases what the cards are before drawing the next but you need to look down for that and when you do that you usually drift off the menu. The hand feature helps.

Still miss the arrow ping here locator, I would use that way more than flick or draw! Is there a bind command for the arrow?

However the biggest request has come several times from all the other players I play with ( using flat screens and almost always in top down view). It is "get your fat head out the way!" or "can't you turn off display of the head?". And I agreed there really is no good reason we can think of to have the position of my head displayed at all, afterall their current view position is never displayed. I often need to lean in really close to a board to read text and when I do I block the view for all other players. At least make it really really translucent, or a translucent wire frame, maybe just a subtle glow light source with nothing actually visible ... or just remove it.

VR control is getting really good, it's almost not beta anymore :steamhappy:
Last edited by Wookie; Aug 29, 2018 @ 4:51pm
Tryble Feb 28, 2019 @ 7:24pm 
WMR controls no good? Tabletop doesn't respond to any input, and the binding appears empty despite being labeled as good defaults. I can't seem to get any changes to bindings to stick and be recognized, either. I don't think there's any control bindings in the workshop (or maybe I don't know where to look) so I guess I'm out of luck for now.

Edit: Looks like bindings won't take unless you bind the required 'Grab' and 'Main Menu' functions. I can bind things now, but I don't think I want to go through the effort of binding the whole controller; I don't know TTS controls well enough.
Last edited by Tryble; Feb 28, 2019 @ 7:41pm
theguffy1990 Mar 1, 2019 @ 11:22am 
Nice to see that VR is still getting attention! Now a big one for me is, is there any chance of asymmetrical VR? Where on one computer one person can be in the VR and one on mouse & keyboard or controller?

This is where this game would really peak for me, When I bought this, I was under the impression that this was possible, I don't think it is, but this is the perfect game for it in my opinion. I don't think this would be impossible, I'd even say it'd be quite easy to implement. All the net code is there for you to just emulate a second instance of the game even. As asymmetrical VR is available on two computers. This'd be an amazing party game and would lead to some absolutely hilarious scenarios.

Again, loving that you didn't just stop with "it has VR now" and still hope to perfect this. This is probably the best game to have VR, it just makes so much sense!
Shoツ Mar 2, 2019 @ 3:14am 
Ah, I see now. With all this you broke the support for windows MR controllers.. nice
Shoツ Mar 2, 2019 @ 3:16am 
Originally posted by Tryble:
WMR controls no good? Tabletop doesn't respond to any input, and the binding appears empty despite being labeled as good defaults. I can't seem to get any changes to bindings to stick and be recognized, either. I don't think there's any control bindings in the workshop (or maybe I don't know where to look) so I guess I'm out of luck for now.

Edit: Looks like bindings won't take unless you bind the required 'Grab' and 'Main Menu' functions. I can bind things now, but I don't think I want to go through the effort of binding the whole controller; I don't know TTS controls well enough.


Good, im not the only one with the issue.
I agree, I think windows MR users shouldnt bind the whole controller themselves!
Especially if we dont know the layout 100%
One Lives Left Mar 2, 2019 @ 5:02am 
Updated with info on getting unsupported hardware to work.
Paradoxiem Mar 2, 2019 @ 9:00pm 
this update broke VR for me and cant select anithing on the menu (btw im using wmr)
weich Mar 3, 2019 @ 5:26pm 
fix WMR controls pls
TrollanKojima Mar 3, 2019 @ 5:31pm 
Just got my WMR headset last week. Had it for 4 days before this patch broke WMR support. :(
Syixxs Mar 5, 2019 @ 7:58pm 
One Lives Left, while I appreciate the "unsupported hardware" angle, the binding situation for WMR is incredibly obtuse right now. I'm no stranger to SteamInput for either the Steam Controller or for customizing WMR bindings, but I'm struggling to make this work well.

I think the worst offender, by far, are the touch pads. These don't appear to work at all when configured as actual touch pads, and are forced to work in a seriously sub-optimal way when configured as D-pads. In that state, you can't differentiate between touch and click, which means that half of your possible input options evaporate.

It's a similar story for the joysticks.

I can get the basics, but I definitely don't consider it to be a viable option until we can actually make use of the sticks and pads the same way the Vive and Oculus controllers can.

I ask that you either carefully craft a default binding for WMR yourselves which we can learn, or revise your stance on WMR being unsupported and adopt those controllers into the official input lexicon.

Thanks for your attention!
Xieken Mar 7, 2019 @ 1:41am 
Love the new update for VR! not sure if the menu wrist twist idea was from my thread but i appreciate it nevertheless
One Lives Left Mar 7, 2019 @ 12:37pm 
@Syixxs I've written a walkthrough of the default bindings and added it to the post. You can find it here:

http://blog.onelivesleft.com/2019/03/tabletop-simulators-steamvr-binding.html
< >
Showing 1-15 of 29 comments
Per page: 15 30 50

Tabletop Simulator > VR Support > Topic Details