2026-06-19 20:32 UTC · Community Announcements · Dire Wolf Digital
New Features and ChangesThe Template Editor now has a Tooltip Name field. Fill it in to set a default name tooltip for any objects with this template. Like the existing Description field, this can be overridden on an object-level through Properties. Want the Template Name to also be the tooltip name? Just click the arrow button to transfer it to the field below.Containers can now be created from an image rather than a 3D model, just like Image Shape Models. When creating a new container, click the cube icon next to the Model selection button to switch to image shape mode.There’s now a search b
2026-05-07 00:11 UTC · Community Announcements · Dire Wolf Digital
Beta Branch Patch NotesHotseat Mode You can now add local players to any game session. Just click “Add Hotseat Player” in the player list in the upper right and give them a name. You can manually switch to one of your hotseat players at any time by clicking the head icon to the right of their name. If you’re using TTP’s built-in turn system, you’ll automatically switch to the appropriate hotseat player whenever it’s their turn. Whenever you switch seats, you’ll see a dialog checking to make sure the new player is ready to take over. While it’s up, info private to either player will be hidden.
2026-04-08 17:06 UTC · Community Announcements · Dire Wolf Digital
New Feature: StickersWhether you’re making a Legacy game or marking up a map, you’ll want to know about our new Sticker tool. You’ll find Stickers on the upper left toolbar – they share a slot with the Text tool, so hover over that “T” and click the star icon to open the Sticker panel. All you need to make a sticker is an image – and, as is usually the case, you can use either a Texture file, or a web image. You also have the option to name your sticker, and/or to modify its size. The size will default to a width of 3 and a proportional height based on that width. If you want to keep things pr
2026-02-11 01:01 UTC · Community Announcements · Dire Wolf Digital
Changes:Added mouse-over buttons for Book objects, to quickly change pages or open the Viewer.Added zoom functionality within the expanded (full screen) Book ViewerAdded bookmark functionality for Book objects, which can be added mid-game or at the Template-levelBook objects now use a distinct Alt-zoom level from other types of objectsStack explorer and container explorer now open with the same size that they were closed withExpanded the TTS Importer tool to bring over the names of cards in decks, bring over their tags, and copy "GMNotes" into their "Metadata"Bug Fixes:Fixed an issue where UI
2026-01-07 17:43 UTC · Community Announcements · Dire Wolf Digital
ChangesThe tooltip on decks will now display the name of the top card if the deck is face up.When adding widgets to a UI template, you can now double-click a widget type to select it and close the dialogueColor hex codes now display and accept alpha-defining characters when alpha is enabledAlpha values can now be set to 0, allowing for fully-transparent objects.When arranging selected objects, they are now arranged in selection order rather than by vertical position. (Note that this may change again depending on feedback.)Scripting UpdatesAdded a new method: GameObject.snapTo(SnapPoint)Warning
2025-12-17 22:15 UTC · Community Announcements · Dire Wolf Digital
Developers NoteThis is the big one! We’re launching a new version of Tabletop Playground, and while it’s almost impossible to list everything we’ve improved, we’ve done our darndest below. Note that these changes will only show up on the new Beta version of Tabletop Playground. So if you want to experience it, head to the Beta page to sign up. If you’re one of those new Beta users, welcome! If you just want to get playing or creating, you may want to check out Getting Started page in the Knowledge Base. But for anyone hungry for details on the new version, read on.OverviewModernized Game Creat
2025-12-15 23:00 UTC · Community Announcements · Plasticity Studios
I know it's been quite a while since the last update, but the lack of public activity doesn't mean that nothing has happened: I'm excited to share that Dire Wolf Digital has acquired Tabletop Playground! You may also know them from board games like Clank! and Dune: Imperium or digital adaptations like Root and Ark Nova. In this post I want to explain what this means for existing players: The game will continue to get updated, and you will of course receive all future updates if you already own the game. We have a shared vision on how to move forward: I've been working with the team from Dire W
2024-04-04 16:20 UTC · Community Announcements · Plasticity Studios
This update is all about the in-game editor (also known as preview mode). There are several changes and updates that remove the need to return to the main editor view for most uses: • Add "New Template" button in object library for edited package in preview mode • Add "New Folder" button in object library for edited package • Add buttons on templates in object library for edited package to allow editing, duplicating, and removing templates • Allow Drag&Drop for templates in edited package to move them between folders, in object library and main editor window • You can now edit templates of obj
2024-02-17 16:25 UTC · Community Announcements · Plasticity Studios
The Unreal 5 upgrade is here! This update moves Tabletop Playground to Unreal Engine 5, future-proofing the game and improving the foundation for further development. While most of the changes are under the hood, you will also see lots of improvements and a couple of fixes to long-standing issues that weren't possible to resolve before: • Apple Silicon support: The game now runs much better on recent Macs by natively supporting M1/M2/M3 chips • The mod.io UI accessible from the main menu has been updated and is now available on Mac and Linux as well • Allow hiding floor in non-3D maps: renamed
2023-11-28 17:30 UTC · Community Announcements · Plasticity Studios
The November update is here with new features, scripting enhancements, and bug fixes! • Allow face names of dice to be empty. They will not result in tooltips and are omitted from dice roll messages • After deleting a mod on mod.io, automatically upload the package as a new mod when trying to upload again Scripting • Add `StaticObject.onSnappedTo` • Add `GameObject.onFlipUpright` • Add `GlobalScriptingEvents.onShake` • Script button in editor for table objects is now enabled. Table object scripts have a `refTable` variable available instead of `refObject` • `GameObject.snap` and `GameObject.ge
2023-10-24 19:34 UTC · Community Announcements · Plasticity Studios
A small update that adds a couple of convenience features and fixes some bugs while work is underway to update the game to Unreal Engine 5! • Add options for package selection in editor to show thumbnails and filter out downloaded packages (both now enabled by default) • Add align to center horizontal/vertical buttons in object coordinates window • You can now quickly move a card you highlight in a card holder or your hand all the way to the left or right by pressing 1 or 2 • Add `GlobalEvents.onPackageAdded´ • Don't change snap point values in editor when switching to creating a snap point gr
2023-09-28 18:54 UTC · Community Announcements · Plasticity Studios
The September update is here with lots of bug fixes and enhancements to the scripting API: Scripting • Add `PlayerProxy.setSelectedObjects` • Add `TurnSystem.setCurrentTurn`, `TurnSystem.setCurrentPhase`, and `TurnSystem.setCurrentRound` • Add `TurnSystem.onTurnChanged` • Add `ProgressBar.setBarColor` and `ProgressBar.getBarColor` • Add `Panel.getNumChildren` and `Panel.getAllChildren` • Add `WidgetSwitcher.getNumChildren` and `WidgetSwitcher.getAllChildren` • Add `Button.setJustification` and `Button.getJustification` • Add `ImageWidget.getImageURL` • Add `GameWorld.getAllTags` • Add `Package
2023-07-28 19:03 UTC · Community Announcements · Plasticity Studios
This is a smaller update which brings a couple of interface and convenience improvements: • The package list in the new game screen now shows images in addition to package names • Packages in the new game screen can now be sorted by last played or by name • Add a new option for object templates, available in the generic pane in the editor: "Ground Access". None by default, you can configure ground objects to allow zooming and the context menu from the regular cursor. • Players can now quickly measure in any cursor mode by holding the ping key (tab by default) • A new "Camera Acceleration" opti
2023-06-29 20:06 UTC · Community Announcements · Plasticity Studios
The June update comes with two new player types: spectators and game masters! Read the full changelog below or find out more in the knowledge base: https://tabletop-playground.com/knowledge-base/spectators-and-game-masters/ • Players can now switch to being a spectator in the player options. Spectators don't occupy a player slot, they cannot interact with objects on the table, and other players can't see their cursor. They are still able to use the chat and voice chat, though. By default, spectators can't see any hidden information but you can change that in the session permissions, allowing t
2023-06-04 12:25 UTC · Community Announcements · Plasticity Studios
• Game phase setups were not stored correctly in saved states • Fix crash that could occur when exiting the game or switching to/from main menu
Full appinfo as delivered by Steam PICS, changenumber 37437721. Also at /api/app/838410/raw.
{
"appid": "838410",
"common": {
"name": "Tabletop Playground",
"type": "Game",
"releasestate": "released",
"oslist": "windows,macos,linux",
"osarch": "64",
"controllervr": {
"steamvr": "1",
"oculus": "1",
"kbm": "1"
},
"playareavr": {
"seated": "1",
"standing": "1",
"roomscale": {
"width": "2",
"depth": "1.5",
"360_required": "0"
}
},
"logo": "0a14b35f8c541e0cb3e99dfe5981763c24b66923",
"logo_small": "0a14b35f8c541e0cb3e99dfe5981763c24b66923_thumb",
"icon": "bdb673f102e0284e6b694443fac41479399effce",
"clienticon": "3dad50a032c3d371495abf0dc4e936e932804338",
"clienttga": "dfddfe96ffb3bdde4955f0f288ea65ff53a2dc85",
"eulas": {
"0": {
"id": "838410_eula_0",
"name": "Tabletop Playground EULA",
"url": "https://store.steampowered.com//eula/838410_eula_0"
}
},
"openvr_action_manifest_path": "TabletopPlayground/Config/SteamVRBindings/steamvr_manifest.json",
"osextended": "macos64,macosnotarized",
"linuxclienticon": "9fd1016400f010f3db8089ac416461ba38282d9d",
"clienticns": "08d24ac178bc5283cdc0969901e3d782e9b0d7df",
"openvrsupport": "1",
"steam_deck_compatibility": {
"category": "2",
"steamos_compatibility": "2",
"steam_machine_compatibility": "2",
"test_timestamp": "1765411200",
"tested_build_id": "14049975",
"tests": {
"0": {
"display": "3",
"token": "#SteamDeckVerified_TestResult_DefaultControllerConfigNotFullyFunctional"
},
"1": {
"display": "3",
"token": "#SteamDeckVerified_TestResult_ControllerGlyphsDoNotMatchDeckDevice"
},
"2": {
"display": "3",
"token": "#SteamDeckVerified_TestResult_TextInputDoesNotAutomaticallyInvokesKeyboard"
},
"3": {
"display": "4",
"token": "#SteamDeckVerified_TestResult_InterfaceTextIsLegible"
},
"4": {
"display": "4",
"token": "#SteamDeckVerified_TestResult_DefaultConfigurationIsPerformant"
}
},
"steam_machine_tests": {
"0": {
"display": "3",
"token": "#SteamMachine_TestResult_DefaultControllerConfigNotFullyFunctional"
},
"1": {
"display": "3",
"token": "#SteamMachine_TestResult_ControllerGlyphsDoNotMatchDevice"
},
"2": {
"display": "3",
"token": "#SteamMachine_TestResult_TextInputDoesNotAutomaticallyInvokesKeyboard"
},
"3": {
"display": "4",
"token": "#SteamMachine_TestResult_DefaultConfigurationIsPerformant"
}
},
"steamos_tests": {
"0": {
"display": "3",
"token": "#SteamOS_TestResult_GameStartupFunctional"
},
"1": {
"display": "1",
"token": "#SteamOS_TestResult_DefaultControllerConfigNotFullyFunctional"
},
"2": {
"display": "1",
"token": "#SteamOS_TestResult_TextInputDoesNotAutomaticallyInvokesKeyboard"
}
},
"configuration": {
"supported_input": "gamepad",
"requires_manual_keyboard_invoke": "1",
"requires_non_controller_launcher_nav": "0",
"primary_player_is_controller_slot_0": "0",
"non_deck_display_glyphs": "1",
"small_text": "0",
"requires_internet_for_setup": "0",
"requires_internet_for_singleplayer": "0",
"recommended_runtime": "native",
"requires_h264": "0",
"requires_voice_files": "0",
"gamescope_frame_limiter_not_supported": "0",
"hdr_support": "0",
"requires_proton_soundfonts": "0"
}
},
"metacritic_name": "Tabletop Playground",
"small_capsule": {
"english": "capsule_231x87.jpg"
},
"header_image": {
"english": "header.jpg"
},
"library_assets": {
"library_capsule": "en",
"library_hero": "en",
"library_logo": "en",
"logo_position": {
"pinned_position": "BottomLeft",
"width_pct": "24.232736572890033",
"height_pct": "72.22222222222223"
}
},
"library_assets_full": {
"library_capsule": {
"image": {
"english": "library_600x900.jpg"
},
"image2x": {
"english": "library_600x900_2x.jpg"
}
},
"library_hero": {
"image": {
"english": "library_hero.jpg"
}
},
"library_logo": {
"image": {
"english": "logo.png"
},
"logo_position": {
"pinned_position": "BottomLeft",
"width_pct": "24.232736572890033",
"height_pct": "72.22222222222223"
}
}
},
"store_asset_mtime": "1667120067",
"associations": {
"0": {
"type": "developer",
"name": "Plasticity Studios"
},
"1": {
"type": "publisher",
"name": "Modularity"
}
},
"primary_genre": "28",
"genres": {
"0": "4",
"1": "23",
"2": "3",
"3": "28",
"4": "2",
"5": "70"
},
"category": {
"category_2": "1",
"category_1": "1",
"category_36": "1",
"category_9": "1",
"category_38": "1",
"category_17": "1",
"category_37": "1",
"category_39": "1",
"category_24": "1",
"category_49": "1",
"category_23": "1",
"category_44": "1",
"category_22": "1",
"category_27": "1",
"category_45": "1",
"category_46": "1",
"category_52": "1",
"category_29": "1",
"category_53": "1",
"category_62": "1"
},
"supported_languages": {
"english": {
"supported": "true"
},
"german": {
"supported": "true"
}
},
"steam_release_date": "1589565633",
"community_visible_stats": "1",
"community_hub_visible": "1",
"gameid": "838410",
"store_tags": {
"0": "492",
"1": "599",
"2": "9",
"3": "597",
"4": "17389",
"5": "21978",
"6": "1770",
"7": "493",
"8": "1669",
"9": "3859",
"10": "1666",
"11": "3810",
"12": "3968",
"13": "3843",
"14": "1685",
"15": "4184",
"16": "10695",
"17": "9271",
"18": "4191",
"19": "4175"
},
"review_score": "5",
"review_percentage": "69"
},
"extended": {
"vrheadsetstreaming": "1",
"developer": "Plasticity Studios",
"publisher": "Modularity",
"homepage": "https://tabletop-playground.com"
},
"config": {
"installdir": "TabletopPlayground",
"launch": {
"0": {
"executable": "TabletopPlayground.exe",
"arguments": "-nohmd",
"type": "default",
"config": {
"oslist": "windows",
"osarch": "64"
}
},
"2": {
"executable": "TabletopPlayground.exe",
"arguments": "-vr",
"type": "vr",
"config": {
"oslist": "windows",
"osarch": "64"
}
},
"3": {
"executable": "Tabletop Playground.app",
"type": "default",
"config": {
"oslist": "macos"
}
},
"4": {
"executable": "TabletopPlayground.sh",
"arguments": "-nohmd",
"type": "default",
"config": {
"oslist": "linux"
}
},
"5": {
"executable": "TabletopPlayground.exe",
"arguments": "-d3d11",
"type": "option1",
"config": {
"oslist": "windows",
"osarch": "64"
},
"description_loc": {
"english": "using DirectX 11"
},
"description": "using DirectX 11"
}
}
},
"depots": {
"228988": {
"config": {
"oslist": "windows"
},
"depotfromapp": "228980",
"sharedinstall": "1"
},
"228990": {
"config": {
"oslist": "windows"
},
"depotfromapp": "228980",
"sharedinstall": "1"
},
"838411": {
"config": {
"oslist": "windows"
},
"manifests": {
"public": {
"gid": "349925372548470597",
"size": "3278574587",
"download": "1416598752"
}
}
},
"838412": {
"config": {
"oslist": "macos",
"osarch": "64"
},
"manifests": {
"public": {
"gid": "2266632861184953520",
"size": "4068935684",
"download": "1487382944"
}
}
},
"838413": {
"config": {
"osarch": "64",
"oslist": "linux"
},
"manifests": {
"public": {
"gid": "3037659021569719450",
"size": "4618237568",
"download": "1570861968"
}
}
},
"workshopdepot": "838410",
"baselanguages": "english,german",
"branches": {
"public": {
"buildid": "21238689",
"timeupdated": "1766055187",
"timebuildupdated": "1766053679"
}
},
"privatebranches": "1"
},
"ufs": {
"quota": "10000000000",
"maxnumfiles": "10000",
"savefiles": {
"0": {
"root": "WinAppDataLocal",
"path": "TabletopPlayground/Saved/SavedStates",
"pattern": "*.vts",
"platforms": {
"1": "Windows"
}
},
"1": {
"root": "WinAppDataLocal",
"path": "TabletopPlayground/Saved/StoredObjects",
"pattern": "*.tpo",
"platforms": {
"1": "Windows"
},
"recursive": "1"
}
}
}
}