Tabletop Simulator cover
Tabletop Simulator screenshot
Linux PC Mac Steam
Genre: Role-playing (RPG), Simulator, Strategy, Indie, Card & Board Game

Tabletop Simulator

50% Off Tabletop Simulator & DLCs During The Steam Fall Sale!





Half off Tabletop Simulator and all DLCs!




Get an early start on your Black Friday & holiday shopping during the Steam Fall Sale! Now through November 29th take advantage of TTS & DLCs being half off and SHOP THE SALE HERE!


Need ideas on what to play next on TTS? Why not check out the Tabletop Simulator Blog to find hundreds of original games available to play now! Find everything from early-stage playtesting, to well-established titles, to crowdfunding previews!


Head Over To The Sale Now-

https://store.steampowered.com/app/286160/Tabletop_Simulator/

Update v13.2 - Discord Game Join, Valve Index Support, Custom Fonts & More!

The long-awaited 13.2 Update is here! This patch addresses some of the most requested features and bug fixes including Discord game join support, Valve Index support for VR, a chat typing indicator, and much more!

Improvements

  • Added a typing indicator that shows up next to the player name and chat window. (Note: it will only show typing that you will be able to see, not if typing to another team) https://tabletopsimulator.nolt.io/785
  • The deck deal-to-color wheel now handles a number typed on top of it, dealing that many cards to the relevant player(s). https://tabletopsimulator.nolt.io/738
  • Right-clicking on slider bar will open dialog allowing for text entry of value. https://tabletopsimulator.nolt.io/730
  • Added confirmation prompt to table flip. https://tabletopsimulator.nolt.io/782
  • Randomizing while hovering over the hand with nothing selected will randomize the entire hand. https://tabletopsimulator.nolt.io/864
  • Visualize Looking For Player on Host - Can be easily disabled from there as well
  • Added visual indication for when an object is dropped into a container. Control with ui_container_enter_indicator console command / misc setting. https://tabletopsimulator.nolt.io/736
  • Added move left & move right options to rotation value UI. https://tabletopsimulator.nolt.io/947
  • Added search to PDF. https://tabletopsimulator.nolt.io/971
  • Changed tooltip text on rewind slider to display time as minutes and seconds.
  • Enabled Metal support for Marmoset shaders fixing Mac rendering issues.
  • Group action will now put the objects into a bag as long as only one bag is present in the selection and no other combinations of decks/stacks were made. You can use the group_into_bag_first command / misc setting to override the last condition, putting everything into the bag if it's the only one (ahead of combining into decks/stacks). https://tabletopsimulator.nolt.io/1594
  • Added logging of pertinent URL when a game asset fails to load.
  • Added showing your hand to another player (right-click a card in your hand and select Show Hand->. https://tabletopsimulator.nolt.io/409
  • Updated Unity version to 2019.4.40 for better stability and bug fixes.


Discord Game Join

  • Can now invite people to join your game from within Discord.
  • Can now ask to join a player's game from Discord and they will be given an in-game popup to accept or decline this request.
  • Joining a game from within discord will launch the game and join the server with one button press.
  • Discord will automatically supply the password for the server if it exists making joining even more seamless.



Search

  • Added feature to search: when searching decks you can specify a number of cards N, and only the top N cards will appear in the search window. This allows for "Peek"-like actions. https://tabletopsimulator.nolt.io/713
  • When a player is searching a deck and changes the order of the deck by moving a card, the movement is logged in the Game chat. You can disable seeing this via the console command / misc setting container_logging.

VR

  • Added default bindings for Index controllers.


Fog of War


XML UI



System Console


Lua

  • Added onPlayerChatTyping(player, typing)
  • object.Container.Search(player, cards = -1) - activate search window for player, optionally limited to top N cards.
  • Callback generated by object.addContextMenu changed: f(player_color) is now f(player_color, object_position, object).
  • Added object parameter to onPlayerPing event
  • Added calls for built-in dialog windows:

    • player.showInfoDialog(info)Displays info string to player.
    • player.showInputDialog(callback, description, default_text)Simple text input. Callback is called as f(text) if user hits OK.
    • player.showMemoDialog(callback, description, default_text)Large text input. Callback is called as f(text) if user hits OK.
    • player.showOptionsDialog(callback, description, {options}, default_value)Options Dropdown. Callback is called as f(option_text) if user hits OK.
    • player.showColorDialog(callback, default_color)Color picker. Callback is called as f(color) if user hits Apply. https://tabletopsimulator.nolt.io/1343

  • Added LuaPlayer.copy(objects) and LuaPlayer.paste(position).
  • Added zone.getObjects(true), which includes all objects in zone regardless of tags.
  • Added language support to addContextMenu. https://tabletopsimulator.nolt.io/1646
  • If an object has its alt_view_angle set it will use that angle when viewed in container search. https://tabletopsimulator.nolt.io/1575
  • Added gizmo_selectable for Objects
  • Fixed search window ignoring tryObjectEnter/onObjectEnter events. https://tabletopsimulator.nolt.io/778
  • Validate (numeric) enums coming from Lua are not out of range.
  • Fixed Lua lighting, turns, and hands not networking syncing when changing settings. https://tabletopsimulator.nolt.io/1703 https://tabletopsimulator.nolt.io/1085
  • Fixed Layout zone not sorting by Memo. https://tabletopsimulator.nolt.io/1624
  • Fixed getObjectsWithTag returning incorrect values. https://tabletopsimulator.nolt.io/1718
  • Fixed Color.fromhex not working when alpha was omitted. https://tabletopsimulator.nolt.io/1631
  • Fixed lua object.hasAnyTag() not working when a deck inherited its tags from its cards. https://tabletopsimulator.nolt.io/1593


Lua Lighting

  • Added member variables lut_index, lut_contribution, lut_url.
  • No longer need to call apply() to trigger an update any change will automatically apply.


Lua Materials

  • Added support for editing materials vars from Lua. https://tabletopsimulator.nolt.io/724
  • Added new class called material.
  • Added getMaterials() and getMaterialsInChildren() functions to GameObject.
    Materials function very similarly to Components:
  • GameObject game_object
  • String shader
  • set()
  • get()
  • getVars()


Fixes

50% Off Tabletop Simulator & DLCs During The Steam Summer Sale!





Half off Tabletop Simulator and all DLCs!



The Steam Summer Sale has started! So beat the heat on TTS & take advantage of these sizzling deals now through July 7th! Shop The SALE HERE!

Need ideas on what to play next on TTS? Why not check out the Tabletop Simulator Blog to find hundreds of original games available to play now! Find everything from early-stage playtesting, to well-established titles, to crowdfunding previews!


Head Over To The Sale Now-

https://store.steampowered.com/app/286160/Tabletop_Simulator/

Winter Sale- 50% Off Tabletop Simulator & DLCs!





Tabletop Simulator and all DLCs are 50% off now during the Steam Winter Sale! Get in your last-minute holiday shopping and ring in the New Year by getting Tabletop Simulator and all DLCs half-off! Sale runs from December 22, 2021 9:55am PT- January 5, 2022 10:05 PT!


Head Over To The Sale Now-

https://store.steampowered.com/app/286160/Tabletop_Simulator/

Autumn Sale 2021!

Tabletop Simulator Summer Sale, Survey & Hiring!

New DLC - Adventure Mart

We have a new DLC game available for you today - Aventure Mart



Only the host needs to own the DLC
2 - 4 Players | Ages 13 & Up | 45-60 Minutes Playing Time

From dank dungeon entrances to magical market squares, Adventure Marts magically pop into existence wherever they are needed. Busier locations require more than one store, and each one needs a manager — that's where you come in!

Outsmart your competition and serve a fantastical array of adventurers as you battle to make more gold than your opponents! Adventure Mart is a fresh new take on deck-building games with added twists and plenty of player interaction.

The life of a store manager is brief, but glorious. Can you become "Manager of the Week"? Or will you be banished to the abyss?


Check out Adventure Mart here:


https://store.steampowered.com/app/1621110/Tabletop_Simulator__Adventure_Mart/

Update v13.1 Native File Browser, Cloud Manager, Rewind Time & More!

Update v13.1 Native File Browser, Cloud Manager & Rewind Time Improvements, Optimizations, and much more!



This patch we wanted to focus on bug fixing, optimizations, and working through the feedback the community has provided for us on our new feedback website: https://tabletopsimulator.nolt.io/roadmap

We have found the feedback website to be instrumental in helping us work on the most important features and the fixes you guys would like to see, and we will continue to use this for our future updates.

Since going live we have implemented 96 suggestions left by the community on nolt!

If you have any feedback of suggestions of your own you can head on over to https://tabletopsimulator.nolt.io/


Native File Browser




  • Added a native file browser as an alternative to the built-in one. (your OS file browser)
  • The native file browser supports selecting multiple files where applicable.
  • VR still uses the built-in file browser to ensure interaction still works.
  • Added console command `file_browser_native` and also added it to the misc settings menu.



Cloud Manager Improvements




  • Cloud Management should overall work much better and be less frustrating to use. https://tabletopsimulator.nolt.io/52
  • Cloud manager can now upload multiple files at once using the new native file browser.
  • Fixed cloud manager reseting to the root path every time you upload or delete something.
  • Fixed cloud manager folders not showing up until you open the cloud manager one more time. https://tabletopsimulator.nolt.io/310



Rewind Time Improvements




  • Rewind and fast-forward has been revamped with better controls and more information. https://tabletopsimulator.nolt.io/393
  • Can now rewind time in multiple steps with the new time slider.
  • Can now see the number of time steps in each direction.
  • Rewind states now are only being created if something has changed since the last rewind state.
  • Rewind now works for promoted players instead of just the host.



General




  • Updated Unity to 2019.4.23 for bug and stability improvements.
  • Added support for multiple auto save files. The default is now 3 and can be changed in the console and misc settings. https://tabletopsimulator.nolt.io/582
  • Broadcast message now appear at the top to better match up with the sliding out animation and fades out smoother. https://tabletopsimulator.nolt.io/448
  • Renamed save file "Expand" to "Search" to better reflect what it does.
  • Added Custom Music to the save file "Search" to make it easier to bring over music from one save to another.
  • Added Music to Workshop asset tags.
  • Added "chat_input_clear_on_dismiss" console property. May be set to OFF to allow clicking away from the chat input field without losing partially written chat messages.
  • Rotation values now store their data as strings instead of objects in the save file.
  • Added EpochTime to save files.
  • Changed misc option / console command "keyboard_single_digit_draw" to "keyboard_single_digit_by_default" - it is now used whenever you type on any component (e.g. when changing component states). If enabled you can still type higher numbers by starting with a `0`. https://tabletopsimulator.nolt.io/187
  • Added "end_turn" command. https://tabletopsimulator.nolt.io/130
  • Grouping individual cards will now give the formed deck any tags which
  • all* the cards share. https://tabletopsimulator.nolt.io/657



Optimizations




  • Greatly reduced the lock up when spawning lots of objects, such as when loading a save file.
  • Reduced ram usage by about ~100 MB thanks to shader stripping.
  • Save/Workshop file "Search" is now much faster with less chance of a hard lock up.
  • Optimized network serialization to generate less garbage and cause less stutters.
  • Optimized under the hood cloning code.
  • Save file info now caches significantly faster (Less waiting when opening the Games menu).
  • Reduced network bandwidth for impact sounds.


Lua





  • Added previous turn color player as second param for onPlayerTurn event.
  • Added Object.getZones() that returns all the zones that the object is interacting with. https://tabletopsimulator.nolt.io/219
  • Added onObject(Enter/Leave)Zone that works on all zones instead of just scripting zones. https://tabletopsimulator.nolt.io/85
  • Added support for all zones with getObjects(). https://tabletopsimulator.nolt.io/613
  • Added UI.loading bool to see if the UI is still loading on this Object.
  • Added lua object.getJson(bool indented) to disable indenting.
  • Added (Global) tryObjectRotate(object, spin, flip, player_color, old_spin, old_flip). spin & flip values [0, 360] degrees.
  • Added (Object) tryRotate(spin, flip, player_color, old_spin, old_flip).
  • Added (Universal) onObjectRotate(object, spin, flip, player_color, old_spin, old_flip).
  • Added (Object) onRotate(spin, flip, player_color, old_spin, old_flip).
  • Added (Universal) onPlayerPing(player, position). https://tabletopsimulator.nolt.io/28
  • Added (LayoutZone) `object.LayoutZone.getOptions()`, `.setOptions({options table})`, `.layout()`
  • Added (LayoutZone) `onGroupSort(table group, bool reversed)` and `onZoneGroupSort(object zone, table group, bool reversed)` lua events: return table in desired sorted order, or false to allow default zone behaviour. If present they take precedence over the selected sort in the zone options.



  • Ensured LuaWebRequest's text no longer raises a null reference exception when no downloadHandler is set.
  • Object.getData() now correctly omits null value keys.
  • Fixed being able to addAttachment with the Table bricking the game. https://tabletopsimulator.nolt.io/413
  • Fixed being unable to lua object.deal() to index hands greater than 1. https://tabletopsimulator.nolt.io/400
  • Fixed issue with on[Enter/Leave]ScriptingZone was firing multiple times in a row. https://tabletopsimulator.nolt.io/176
  • Fixed Book setHighlight()/clearHighlight() bug. https://tabletopsimulator.nolt.io/270
  • Fixed minor bug whereby RPCLookAt was using the yaw after validating the pitch (instead of validating the yaw).
  • Fixed lua Player.getAvailableColors() can have repeats. https://tabletopsimulator.nolt.io/536
  • Fixed issue with tryObjectEnter/tryObjectEnterContainer only firing for the first object dropped in a bag. https://tabletopsimulator.nolt.io/150
  • Fixed tryObjectEnter/tryObjectEnterContainer not being passed the object entering when the container was a stack. https://tabletopsimulator.nolt.io/477
  • Fixed data/JSON round-tripping i.e. spawnObjectData({data=JSON.decode(JSON.encode(container.getData()))}).
  • Fixed Lua core mishandling of nil table inserts i.e. table.insert(tab, 1, nil).



Lua Player Action APIs



An API that fires when a user performs an action. You may return false to prevent the action.
As opposed to onObject* events, actions are fired once per user action, rather than once per object affected.

Added (Universal) onPlayerAction(player, action, targets). targets is a list of Objects and action will be one of:

onPlayerAction(player, action, targets), new actions:

  • Player.Action.Select
  • Player.Action.PickUp
  • Player.Action.RotateIncrementalLeft (Q)
  • Player.Action.RotateIncrementalRight (E)
  • Player.Action.RotateOver (Alt + F, whilst held)
  • Player.Action.FlipIncrementalLeft (Alt + Q, whilst held)
  • Player.Action.FlipIncrementalRight (Alt + E, whilst held)
  • Player.Action.FlipOver (F)
  • Player.Action.Copy (Ctrl + C / Menu Copy / Menu Clone)
  • Player.Action.Cut (Ctrl + X / Menu Cut)
  • Player.Action.Delete (Delete / Backspace / Menu Delete)
  • Player.Action.Group (G)
  • Player.Action.Paste (Ctrl + V / Menu Paste)
  • Player.Action.Randomize (R / Menu Roll)
  • Player.Action.Under (U)

Nolt Link: https://tabletopsimulator.nolt.io/520


Player.Action is not a table, but you may still do:


  • for name, value in pairs(Player.Action) do
  • log(Player.Action)



Nolt Links:



Lua Value and Value Flags




  • Value now persisted in ObjectState.
  • Summing of Value now takes into consideration stacks. https://tabletopsimulator.nolt.io/12
  • Objects with differing Value or ValueFlags are no longer stackable.
  • Selected objects will now have their `value` summed according to their tags.
  • value_flags will continue to work like before, but are now deprecated in favor of object tags.



Fixes





v13.1 Hotfix 1:



  • Fixed sticky not working correctly on Objects.
  • Fixed GMNotes spacing issue.
  • Fixed jointed objects not being grabbed correctly.
  • Fixed lua tryObjectEnterContainer deleting the object when return false.



v13.1 Hotfix 2



  • Fixed chip dupe bug when they are stacked.

New DLC - Rise Of Tribes

We have a new DLC game available for you today - Rise Of Tribes

Only the host needs to own the DLC
2 - 4 Players | Ages 13 & Up | 30-60 Minutes Playing Time

In ancient prehistoric times, you have discovered a new land with plentiful lakes, mountains and forests (and apparently many stone rocks that shall be called dice). Your people can develop new things like basketry or find oxen or simply GROW and conquer.

In Rise of Tribes, players control a tribal faction in prehistoric times looking to GROW, MOVE, GATHER, and LEAD their people. The board is modular, composed of hexes in various terrain types. Each hex has a population limit. Players manage the number of tribe members they place on any one hex to either trigger or avoid conflict.


Check out Rise Of Tribes here:
https://store.steampowered.com/app/610709/Tabletop_Simulator__Rise_of_Tribes/

Remote Play Together Sale & Event