October 30, 2019, 7:13 am

This patch is filled to bursting with general improvements that you, the community, have been asking for. Better Fog of War, useful scripting additions, better VR, game chat announcements of clearing and measurements, Jigsaw puzzle improvements and MORE! If you don't see the improvements you were hoping for in this update, we're still hard at work on even more improvements for the future!

Jigsaw Puzzle Improvements
  • The game can now detect if the jigsaw puzzle is complete.
  • The "Shuffle" and "Check" commands can be found if you right-click on the puzzle box.
  • The UI that opens when a new puzzle is created now remembers the settings you used on your last puzzle.
  • Pieces will rotate to nearest 90-degree rotation when snapping in place.
Improved Fog of War
  • Higher maximum reveal range!
  • Field of View (and field of view offset) added!
  • You can cause items in the Fog to become hidden again if a "reveal" moves off of them. This works like Fog of War in many RTS games. You can enable this feature by right-clicking the Fog of War Zone with the Fog of War Zone Tool and enabling it.
  • Some performance improvements have been made as well.
  • Revealer Objects can now also be hidden from each other.
Miscellaneous Settings Menu

Some new features, as they are worked on, do not have their own UI menu yet. We've got them collected in the "MISC" setting menu!

  • To locate the menu, go to: "Configuration > Interface > Misc..."
  • Tweak the camera rotation speed.
  • Hide VR players.
  • Center on mouse when zooming.
  • Switch from "inches" to "metric".
  • You will see some other patch notes that mention the "MISC" menu. They can be modified here as well.
General Improvements
  • If you press a number key when over a single card, it will draw that single card (like it would if the card was part of a deck).
  • You can shuffle cards in your hand by highlighting the ones you want to shuffle and clicking R.
  • Dice rolling in high-gravity rooms has been improved.
  • New "Sort" categories have been added to various menus. "Classic" now has "Last Played", "DLC" now has "Purchased", and "Workshop" now has "Downloaded".
  • When you open the search menu, the keyboard cursor will jump up to the Search box. This is so you can just start typing to begin a search, rather than needing to click in the "Search" text box.
  • Both "Previous State" and "Next State" options have been added. They have keyboard shortcuts, PgUp and PgDn by default. You can change which keys scroll through the states of an object in the Configuration menu. You can change if they wrap (the last one leads back to the first) in the Misc menu.
  • The line tool is now able to log its measurements, printing them to the Game tab. This is off by default, but can be enabled in the Misc menu.
  • Server Browser sorting now works during the refresh.
  • You can now use Ctrl-F6 to toggle all UI panels on/off.
  • The tablet should now work on Linux. This is experimental.
  • The on-screen hand interaction area is now much smaller if nothing is currently in the hand to avoid accidental interactions.
  • Added chat message notifying if someone deletes all vector lines, 3d texts, or decals.
  • You can now Shift+F keys to cycle through your tools in reverse order.
  • The version number on the bottom right of the main menu is now click-able to bring up patch notes.
  • Fixed objects getting stuck above tiny play areas.
Scripting
  • Added group(table). This allows you to group a table of objects, in the same way the "G" key would for a player! It returns a list of the grouped objects.
  • Added addDecal(table), getDecals(), and setDecals(table). Now scripting can add decals into the game world.
  • Added object.getJoints().
  • When a table of parameters for a joint is returned, it now includes joint_object_guid. This is the GUID for the object which is attached by the joint.
  • Added desired_position to the list of parameters returned by .getCustomObject() when it is used on a Jigsaw Puzzle piece. This parameter is the "solved" position for the piece.
  • New Time class added, used to easily fetch information like os.time(), but also other informations like time passed since last frame, total frames passed, etc.
  • pingTable(vector) added to the Player class. Now a script can emulate a player pinging.
  • Added setComponentVar(componentName, varName, value) and getComponentVar(componentName, varName) as an object function. This allows you to access components that you have made part of your AssetBundle via scripting. For example, changing lights or colliders on the fly. These functions will also work on the components of default objects like "Collider" and "Light".

You can find details and examples for these, and all of Tabletop Simulator's functions, in the Tabletop Simulator API.

Bugs Fixed
  • Scripting can now properly read whose turn it is (according to the Turns system).
  • Fixed custom objects in scripting zones failing to trigger events.
  • Fixed items that are hidden being revealed for a frame when switching states.
  • Prevented "scaling permission" pop-up when using Vector paint.
  • Removed Grey player's ability to delete notebook pages.
  • Improved snapping for very small and very large objects.
  • Thief animation fixed. (poor little guy gets sick during Unity changes for some reason)
  • Fixed shuffling deck from right-click menu not triggering OnObjectRandomize.
  • Fixed collisions trigger when loading custom objects.
VR

Keep tabs on VR improvements on the discussion page.

VR Improvements
  • 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
  • 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.
Console Commands

All New Console Commands

camera_clear_saved_positions
camera_load_rotation_rate
camera_restore_saved_positions
camera_store_saved_positions
component_default_autoraise
component_default_grid
component_default_hands
component_default_ignore_fow
component_default_reveal_fow
component_default_snap
component_default_sticky
component_default_tooltip
component_override_defaults
component_state_wrapping
drawing_erase_all
drawing_render_fully_visible
dice_roll_height_multiplier
jigsaw_randomize
jigsaw_validate
measure_in_metric
measure_logging
mouse_wheel_zoom_and_center
sendkey
ui_config_misc
ui_panel_chat
ui_panel_main
ui_panel_notepad
ui_panel_player
ui_panel_tools
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_left_controller_bind_tool_hotkeys
vr_mode_display_network_players
vr_mode_ui_attachment
vr_joypad_emulation
vr_laser_activation_threshold
vr_laser_beam_thickness
vr_laser_dot_size
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 Console Commands
vr_trigger_click_effect_delay -> vr_orient_object_delay
vr_thumbstick_repeat_duration -> vr_interface_repeat_duration
Removed Console Commands
vr_cards_held_like_in_hand
vr_tooltips_when_gripping
vr_trigger_activates_laser
vr_trigger_activates_ui
vr_trigger_click_effect