1. Tabletop Playground
  2. News

Tabletop Playground News

Linux Beta, sounds and images from scripts


Tabletop Playground is coming to Linux! The latest update includes a native beta, so if you're a Linux gamer and already own the game, check it out and let us know if you find any issues! As with the Mac version, all features except the Steam Overlay should work. In addition, update incldues many new features for scripting, most importantly the ability to play sounds or music, and images for scripted UI. Here's the full list of changes:

• Allow changing opacity (alpha value) for zones
• You can now switch off shadow casting for translucent models in the editor
• Snapping can now be turned off by default for objects in the editor

Scripting
• You can now play sounds from scripts: The new Sound object can play sounds and music from your package or an online source. It supports WAV, MP3, and FLAC files.
• New scripting UI widgets: ImageWidget and ImageButton allow you to display images from your package or from the internet
• Add clear() command for the scripting console
• Add refPackageId which contains the package id of the
• Add GameObject.getSnappedToPoint to find the snap point that an object is snapped to
• Add GameWorld.showPing to create ping events from scripts
• Add GameWorld.getObjectsByTemplateId to get all objects with a particular template
• Add GameWorld.getTemplatePackageId and GameWorld.getTemplateName to get more information about a template
• Add Card.setCardIndexAt to allow changing cards from scripts
• Add return value to Card.split and Card.divide: an array with the newly created card stacks
• Don't allow file:// protocol for http requests
• Don't copy description of stack to drawn cards

Fixes
• Zone ids weren't working consistently and zone events were not cleared when resetting scripting
• Measure move mode could not be activated
• The shuffling animation for image shape card stacks wasn't working
• "Mirror back" option in the editor did not work fro image shape cards with a separate back image
• Cards couldn't be flipped right after being dragged out of card explorer
• Tooltip now resizes properly when showing long object descriptions
• Mirror backs of image shape cards correctly when shown in object zoom
• insertedCard parameter of Card.onInserted event did not contain the correct number of cards when adding cards to the front of a stack
• Don't remove scripting UI in preview mode when changing in settings while playing

---

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!

New feature available: Zones


Zones are now available! They allow you to change behavior in restricted parts of the playing area. Each zone behavior can be set to affect everyone, nobody, or only owners of the zone. You can set any player color to be an owner, and zones can have multiple owners. The available behavior switches are:

Object visibility: Objects in the zone can be hidden.
Object interaction: Objects in the zone can't be interacted with (but they remain visible).
Cursor visibility: Player cursors in the zone can be hidden from other players.
Snapping: All snap points within the zone can be deactivated.
Stacking: Adding cards to stacks within the zone can be disabled.
Inserting: Inserting objects into containers within the zone can be disabled.

Find out more in the knowledge base: https://tabletop-playground.com/knowledge-base/zones/

Changes
• A new cursor mode allows you to create zones by dragging and edit existing zones by clicking or right clicking. You can enter zone mode through the player options or with a new keybinding (default 'U')
• The Zone coordinates window allows you to change position, rotation, and size of zones. It also activates a gizmo tool on the selected zone and works like the regular object coordinates window.
• In the zone properties window, you can switch shape and color of zones.
• The zone behavior window is where you define the owners and behavior switches of your zone.
• Zone mode can be forbidden in the session permissions.
• A new Zone object is available for scripting. You can get zone objects by using world.getZoneById, world.getAllZones, or world.createZone

---

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!

Gizmos and custom actions



The latest update is now live and brings positioning Gizmos, custom scripted object actions and many more scripting and convenience improvements!

• Transform Gizmos: When opening the object coordinates window for a single object, a gizmo appears: it can be switched between move, rotate, and scale modes and allows you to quickly change each using the mouse.
• Allow moving camera while UI is open
• Turn off physics for objects while coordinates are modified
• You can now add favorite directories in the file browser
• New option for camera angle snapping: in the game settings, you can set an angle increment (like 60° or 90°) to which the camera will snap when it gets close.
• Don't allow flipping cards in stack for image shape cards (can lead to visual issues)

Scripting
• New `GameObject.addCustomAction` and `GameObject.removeCustomAction` methods and `GameObject.onCustomAction` callback for using context menu items from scripts
• Add `Widget.setEnabled` and `Widget.isEnabled` to allow disabling user interaction with widgets
• Flipped the `hideAnimation` parameter to `showAnimation` in `Container.insert`, `Container.Take`, and `Container.takeAt` to make it consistent with animation parameters at other points in the API. This change can affect how existing scripts behave, but it only changes animations so it won't break any games.
• New `GameObject.flipOrUpright` method to flip cards and generally produce the same behavior as a user pressing "F" for a highlighted object
• Call `Card.onRemoved` and `Container.onRemoved` when a player removes items in the stack or container explorer
• Updated API definition to specify what functions can return `undefined`
• Object events are now reset before the global script runs on loading a state, so you can subscribe to events from the global script (object scripts are unaffected)
• Add `Container.addObjects` as an alias for `Container.insert`

Fixes
• Zoomed view of multistate objects did not update when state changed
• Correct too large return values of `GameObject.getCenterOfMass`
• Fix problems with using recent mod.io uploads on Mac
• Lines on the side to indicate number of cards in a stack were not updated under some circumstances when adding cards from scripts
• With the screen cursor, picking up an object the first time immediately after using chat or console did not work properly

---

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!

Blindfolding and extending running games

The latest update brings blindfolds, scripting updates, and convenience features like adding packages to running games, or mouse and motion controller shake events:

• You can now put on a blindfold from the player options or by pressing a key. Blindfolded players can't see anything that happens on the table, but they can still participate in the chat. Everyone can see who is currently blindfolded. Putting on a blindfold also works in VR.
• Every player can now add packages to a running game. Previously this was only possible for the host. In addition, you can now add packages that other players don't have yet, they will be asked to download it. Once all players have the package installed, it gets added to the game and is available immediately.
• Shaking the mouse while holding objects now clumps them together. If you hold card a card stack and shake the mouse, it will be shuffled. Sensitivity can be changed in the game settings.
• Added an option in the card editor (also used for tiles/tokens): When using image shapes, flipping the back image can now be turned off
• Allow changing gravity in the session options
• A new option in the advanced game settings allows you to use the object zoom on ground objects even when the cursor isn't in ground mode
• Allow showing names in container explorer, show and filter on template name if objects have no name
• Don't allow taking from or dropping to the underside of card decks when peeking is not permitted
• Duplicating a package in the editor now keeps template filenames if they are different from the template GUID.

Scripting
• Widgets can now be added again to containers (like Canvas) after they've been removed
• Added Player.isBlindfolded and Player.setBlindfolded
• Added Card.onInserted and Card.onRemoved callbacks
• Added World.getGravityMultiplier and World.setGravityMultiplier
• Removed deprecated Player.setPosition and Player.setRotation methods, use Player.setPositionAndRotation instead

Fixes
• Remove slight aliasing for tokens and cards with one card per texture when the image had different colors on opposing borders
• Remove typos in tooltip for cursor types (#45)
• Fix: The object zoom for some objects (like dice and books) did not move with the player camera
• Fix: Card front image was sometimes not updated immediately when combining cards from different decks into one stack
• Fix: On Mac, "Browse Games" in main menu did not open web browser

---

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!

Mac version, character sheets and scripting UI

The Mac version is now out of beta and officially available!

The new update also adds more options to create complex user interfaces through scripting. It features a new category of UI widgets that group other widgets. `VerticalBox` and `HorizontalBox` give a quick way to create lists of widgets, and `Canvas` gives you complete freedom about where you want to position your widgets.

As an example of how the new widgets can be used, we've implemented a Dungeons & Dragons character sheet! Check it out here: https://tabletopplayground.mod.io/dnd-character-sheet-example. If you want to create your own complex UIs, have a look at the new tutorial: https://tabletop-playground.com/knowledge-base/advanced-ui-character-sheet/

[h3]Scripting[/h3]
• Add `VerticalBox` container widget
• Add `HorizontalBox` container widget
• Add `Canvas` container widget
• Add `MultilineTextBox` widget
• Allow setting font size on all widgets that contain text
• Execute `On...Changed` callbacks on widgets when the respective values are changed from scripts (with player parameter `undefined`)
• Text boxes with number input types are now allowed to be temporarily empty while editing, making it easier to enter new numbers
• Removed "Reload Scripts" action because it could lead to confusing states and even crashes. Renamed the "Reset Scripting" action to "Reload Scripting" to emphasize that modified scripts are reloaded. Removed `GameWorld.reloadScripts`.

[h3]Fixes[/h3]
• Fixed crash that could occur when playing with more than two players and players who joined first left the game
• Script UI buttons now play sound when pressed
• Latest Unreal hotfix version for Windows and Mac (can help with Unreal related issues)

---

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!