1. Tabletop Playground
  2. News

Tabletop Playground News

March Update: Turn system and chat tabs

This update brings a new turn system and adds whisper tabs to the chat, alongside the usual fixes and scripting improvements:

• The new turn system allows you to create phases to keep track of the state of your game and restrict interactions to players whose turn it is. Find out more about rounds, phases, and turns in the knowledge base: https://tabletop-playground.com/knowledge-base/turns-phases-and-rounds/

• The chat now supports whisper tabs: When you send a whisper message to another player or receive a whisper message, a new chat tab will open. You can have your private conversation in that chat. This keeps all messages with a player together and doesn't require you to use the `/w` command to whisper. The old behavior with both public and private messages in the main chat tab is still supported, you can disable tabs in the advanced interface options.
• Show template names in dialog for copying from other package



Scripting
• Add new `TurnSystem` class accessible through `GameWorld.turns` that enables access to the turn system
• Add `GameWorld.addCustomAction` and `GameWorld.removeCustomAction` to manipulate actions in the global context menu (right click menu when not clicking on an object)
• Add new parameter `identifier` to `GameObject.addCustomAction`, allowing to separate the visible name of the action from how it is identified in the code
• Add `DrawingLine.players` to allow restricting line visibility to certain players or teams
• Fix: node_modules folder was missing after last update

Fixes
• Installed packages from mod.io were not available when offline
• In rare cases the game could crash when removing an item from a container


---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!

February Update: In-game mod browser

The February update has landed! The main new feature is a new in-game mod browser that allows you to find, subscribe to and unsubscribe from game packages on mod.io without using the Steam browser or an external browser. As usual, there's also a number of further improvements and fixes:

• Add in-game mod browser: from the main menu, a comprehensive UI allows you to browse available mods and subscribe or rate, or manage your existing subscriptions. Currently the mod browser is only available on Windows, Mac and Linux support will follow.
• Move save/load state from context menu to main menu
• Keep additional autosaves (for a total of 5 minutes of play time)
• Don't show tooltip with description of card objects when they are face down
• Automatically simplify drawn lines, improving performance and allowing more lines to be drawn
• Only load templates in packages on demand. Reduces startup time and allows multiple packages with the same templates (for example a development and release version), as long as both pacakges aren't used within the same game.
• Improved performance of loading save state folders, reducing small stutters when opening large lists of states (like autosaves)
• Show card front in object zoom when zooming to a card in a container explorer that shows card fronts
• Automatically wrap long object descriptions in tooltips
• The "Zoom to ground" option (in the advanced interface settings) is now a "Ground interaction" setting. Apart from using object mode for ground objects while in regular cursor mode, it also allows you to open the context menu for ground objects.

Scripting
• `Card.onRemoved` wasn't called in a few circumstances: when grabbing an additional card from a stack while holding cards or when dropping cards from a held stack to the table or to a card holder.

Fixes
• FBX files were not supported on Linux
• Objects with description but no name briefly showed an empty tooltip before the description became visible
• Uploads to mod.io occasionally had issues on Windows
• Games with lots of drawn lines (close to the drawing limit) could prevent clients from joining
• Objects with scripted UI could get spawned below their container when dragged out from a container explorer window

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!

January Update

The January update is here! It comes with a new permission option, scripting UI widgets, important bug fixes and more:

• Add new permission for saving the game on clients. This can be useful to prevent cheating by clients inspecting or loading the save file to access hidden information like hand cards of other players.
• Allow selecting cards in (locked) card holders using drag selection
• Show card tooltips in the on-screen hand
• Show card fronts in object zoom for holders of other players if they are set to show card fronts (instead of hiding cards)
• Add an option for snap grids in addition to rectangular and hexagonal: circular grids can be used to quickly create circles of snap points
• Clearer images for checkboxes, sliders, and selection boxes on UI scales larger than 100%
• Add a warning when exiting template editor while a snap grid hasn't been added
• Log files are now enabled for Linux and Mac (they only existed on Windows before)

Scripting
• Add `RichText`: a text widget that allows BBCode style text to control text appearance. The tags are the same as in the in-game notes and can modify font size, text color, and bold/italic.
• Add `ContentButton`: a type of button where you can add another widget as child (similar to a border)
• Add `WidgetSwitcher`: a widget that can contain multiple child widgets and switch between them, showing only one at a time
• Add `UIElement.zoomVisibility`, allowing you to control whether UI elements are visible for regular or zoomed objects
• Add `Color.toHex()`
• Add `Player.getOwnedObjects()`
• Add `GameWorld.getPlayerByName()`
• Visual elements of `CheckBox`, `SelectionBox`, and `Slider` are now automatically scaled when using large font sizes

Fixes
• Objects in containers were sometimes not visible in container explorer and spawned at the wrong location after the container was repeatedly copied and pasted, or the object was repeatedly taken out of the container
• Widgets from UIs could remain in memory the background in multiplayer games, causing increased processing time and memory consumption over time
• Object zoom could cause glass tables to become brighter for some objects on some maps

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!

November Update: Switchers

Update time! This time the main new feature are switchers, which allow you to create switchable objects in-game. As usual, there's also additional features, convenience improvements, and bug fixes:

• Add a new object type: Switchers allow you to switch between multiple objects. You create switchers in-game (or in preview mode) by selecting multiple objects and clicking "Create Switcher" in the context menu. The selected objects will be combined into a single object which you can switch from the context menu or using the object action hotkeys (R / Ctrl+R). The context menu also allows you to switch to a random object, or remove the switcher. You can learn more on the new knowledge base page.
• Allow object zoom in the container explorer
• Add new button in card and multistate object details in the editor to quickly add all remaining cards or states from the image sheet
• Add ability to cycle through previously written messages by using the up and down keys in the chat window (similar to the command history in the JavaScript console)
• Allow changing size of cards in stack explorer using two new buttons
• Save whether to show names in container explorer for session
• Support Chinese, Japanese, and Korean characters in text fields

Scripting
• Add a new class `Switcher` and two methods `GameObject.createSwitcher` and `GameObject.getSwitcher` to allow interacting with switchers from scripts
• Add anchor properties for `ScreenUIElement`, similar to the properties in `UIElement`
• Add `Widget.setVisible` and `Widget.isVisible`
• Add `TextWidgetBase.getFontFileName` and `TextWidgetBase.getFontPackageId`
• Ensure that an empty `exports` object always exists to avoid issues with transpiled TypeScript
• Allow passing `undefined` to `Border.setChild` and `LayoutBox.setChild` in order to remove the current child widget

Fixes
• After shuffling a card stack, an additional card could remain visible in rare cases
• Don't allow changing size of cards in holders
• Dropping cards in the on-screen hand with the screen mode cursor required an additional click

---

These new updates we've added are just some of the many features on our early access development roadmap for Tabletop Playground, which you can check out on our Trello HERE.

Don't forget to join our community Discord to chat with the dev team and give us your suggestions for new features for the game!

October update hotfix

This update addresses a couple of recently identified issues:

• Remove issues with PlayerPermission objects not being recognized correctly on clients
• Fix a potential crahs when re-using UIElement objects after a new client joined
• Relative position and size in ScreenUIElement did not work correctly for very small or very large resolutions
• Card rotation was reset when editing template in preview mode
• Not all controls in the grid options were deactivated for clients
• Folder names in object library were not sorted alphabetically on Mac