Teams

Players on the same team can see the cards in each other’s card holders and interact with them. They can also see the cards that their teammates are holding.

Teams are set by the host in the session options. There are 8 possible teams and each player slot can be set to one of them (or no team). So teams are not associated directly to the players in the game, but to slots in the same way as player colors are. This allows you to already set up teams when creating a starting state for a game, without any players present. When a player switches their player slot/color, they will also switch to the team of that slot.

Team settings

Zones

Zones allow you to change behavior in restricted areas 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.

Zones can be used for many different purposes, combined with scripting and without. For example, when playing an RPG, you can define a zone that is owned by the dungeon master. It can hide objects and the owner’s cursor from everyone but the owner. In a game like Monopoly, you could define a zone that disables interaction with the “bank” objects for most players, or even for everyone if interactions are handled through scripting.

The available behavior switches for zones are:

  • Object Visibility: Objects in the zone can be hidden. Hidden objects still behave the same as visible objects, so they will interact with each other and with objects that enter the zone. If set to owners only, objects are hidden for all players except the owners.
  • Cursor Hidden: Player cursors in the zone can be hidden from other players. Every player can always see their own cursor. If set to owners only, the cursors of the owners are hidden from other players, but other cursors remain visible for everyone.
  • Interaction: Objects in the zone can’t be interacted with, but they remain visible.
  • 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.

To create or edit zones, you need to enable zone mode by switching the cursor mode in the player options, or pressing the zone mode key (“U” by default). You can then create new zones by clicking and dragging. When you click on an existing zone, the coordinates window opens and a gizmo appears. This allows you to position the zone exactly where you want it.

When you right click on a zone, you get a context menu with more options: in the properties window you can select what shape and what color the zone should have. If scripting is enabled, you can also find and set the unique id of the zone here. In the behavior window, you can set which player colors are owners of the zone, and you can switch the behaviors described above.

When you create a new zone, it will have all the properties from the last zone you edited, which helps when you want to create several similar zones.

Troubleshooting

This page collects common solutions to problems that can occur with the game. If you don’t find your issue here or need additional support, visit the Tabletop Playground Discord.

Microsoft Visual C++ 2015 Runtime required error message when starting the game

Most systems already have the required runtime installed, and Steam is configured to install it automatically when the game is installed. If you get the above error, you can install the required runtime “Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019” manually. Here’s a direct link to download it from Microsoft: https://aka.ms/vs/16/release/vc_redist.x64.exe

The game doesn’t start or crashes when starting

Run the game as administrator

This can be related to running Discord as administrator. If you’re doing that, try running Discord as a regular user, or run the game as administrator by doing the following:
1. Right click the game in your Steam Library.
2. Go to Properties then the Local Files tab.
3. Click Browse…
4. Right click on the game executable (TabletopPlayground.exe) and go to Properties.
5. Click the Compatibility tab.
6. Check the “Run this program as an administrator” checkbox.
7. Click Apply. Try running the game again through Steam. If it still doesn’t start, try running the executable directly.
8. If it still doesn’t work, or if the game runs but you can’t find other players, run Steam as administrator as well: set the “Run this program as an administrator” checkbox for the Steam executable, or for the shortcut that you use to start Steam.

Disable overlays
The Steam overlay sometimes causes issues. In particular if you see a crash report mentioning “gameoverlayrenderer64”, try the following and check if it works after each step:
1. Disable any other programs that show overlays on top of the game, for example MSI Afterburner, XBox/Windows Game Bar, ATI/Nvidia overlays, etc.
2. Disable the Steam overlay in the settings: Go to Steam->Settings->In-Game and remove the checkmark from “Enable the Steam Overlay while in-game”
3. Delete, rename or move the File GameOverlayRenderer64.dll from your main Steam folder. Steam will recreate the file whenever it starts up, so you may need to repeat the process whenever you want to play and have restarted Steam.

In the last two options, the Steam overlay will be disabled. You won’t have an in-game mod browser, but clicking “Browse Games” will open you standard browser. Log in to mod.io with you Steam account to subscribe to mods.

Run the game in windowed mode
1. Right click the game in your Steam Library.
2. Go to Properties and click on “Set Launch Options…”
3. Enter -windowed into the text field and press ok
4. Start the gam

Disable other software that might interfere
If you are running programs like alphaconsole/gifyourgame/bakkesmod/plays.tv, streaming software, or an antivirus program, try disabling them before starting the game.

Update your drivers and Windows
Make sure you have the latest drivers for all your hardware, in particular for your graphics card. Check that you have all the latest Windows updates installed.

There’s a problem with downloading from or uploading to mod.io

First make sure that you are connected to mod.io. In the main menu, you should see “Connected to mod.io” in the window to the upper right. If you see something else but there’s an “Activate” button on the window, click it and follow the instructions to connect. If you still can’t connect, see below on how to troubleshoot using the log file. If you are on Windows 7, make sure you have the latest Windows updates installed. In particular, you will need the one mentioned here: https://support.microsoft.com/en-us/topic/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-winhttp-in-windows-c4bd73d2-31d7-761e-0178-11268bb10392

If you are connected with mod.io but the mods that you subscribed to aren’t being downloaded, make sure that you haven’t subscribed with a different account: if you signed up to mod.io in your regular web browser and not from within the game, your mod.io account may not be linked with your Steam account. To fix that, go to the mod.io page and log in. Click your username in the upper right and select “Profile”. Go to the “Connected Accounts” section at the bottom and click on the Steam icon. Log in with your Steam credentials to link the accounts.

If the above doesn’t help, here’s how to find the Modio.log file:

  • Windows: Open an explorer window and enter %localappdata%\TabletopPlayground\Saved\Logs in the address bar.
  • Mac: Open the finder and select “Go to Folder…” in the “Go” menu. Enter ~/Library/Logs/TabletopPlayground
  • Linux: The log files are located in ~/.config/Epic/TabletopPlayground/Saved/Logs

Check if you see any errors that may give an indication of what’s going wrong. If you need help, post the file in the #support channel on our Discord.

The game crashes with “Unreal Engine is exiting due to D3D device being lost. (Error: 0x887A0006 – ‘HUNG’)

This issue affects many Unreal Engine games. It is caused by the engine losing connection to the graphics card, because of timing issues or when internal and external card switch on laptops. You can find possible solutions here: https://appuals.com/how-to-fix-the-error-unreal-engine-is-exiting-due-to-d3d-device-being-lost/ and https://steamcommunity.com/app/16900/discussions/1/1640917832748442812/

Linux: “Incompatible Vulkan driver found” or similar

Ensure that you have Vulkan and the latest proprietary drivers for your graphics card. Here’s a guide how to do it for different Linux distributions: https://linuxconfig.org/install-and-test-vulkan-on-linux

The microphone doesn’t work

Make sure that you have the correct audio input device selected in your Windows sound settings before starting the game. If you have a VR headset but you want to use a regular Microphone, you may have to disable the VR audio input device (by clicking on manage audio devices). Only setting the default device may not work if you have VR headset microphones.

Packages

All game content in Tabletop Playground is organized in packages. A package is a collection of Object Templates, Models, Textures, Scripts, and Game States. You can create new packages using the editor and upload them to mod.io.

Playing with packages

When starting a new game, you will usually choose a saved state or a table from a package. This package then becomes active for your game, and all players wanting to join your game need to have the package installed as well. Some packages are included with Tabletop Playground and always active, for example the Dice and Cards packages.

In the game, you can only create objects and load states from active packages. The host can add packages to the active list from the session options or object library if all players have the additional packages installed.

When selecting a game in the server browser, the active packages are displayed. For packages that you don’t have, a button allows you to download them immediately.

In order to get new packages, head over to mod.io and log in with your Steam account. You can then subscribe to any available package. Subscribed packages will be downloaded when you start the game. You will also automatically get updates from packages that you have subscribed to.

Creating packages

When you use the editor, you will always work on a package. If you want to create a new game, you first create a package for it with a suitable name. A new folder will be created in you Tabletop Playground directory (under PersistentDownloadDir). All content for the package will be stored within that folder. For example, when you select a texture for an object in the editor, the texture file gets copied into the Textures folder in the package directory.

Instead of creating a new package from scratch, you can also choose to start by duplicating an existing package. In that case, all content from the source package will get copied to your new package. All object templates will get a new GUID in your new package, and the game states in the copied package will be updated accordingly. But local states or states in other packages will continue to reference the objects from the original package, so you don’t have to worry about breaking anything when working on a duplicated package. If the source package includes scripts that reference template GUIDs from the package in the code, you need to update the copied scripts so they reference templates in the new package instead.

Uploading packages

When you’re ready to share your creation with the world, you can upload the package to mod.io. Just choose a representative image, Tabletop Playground will take care of the rest. After the upload, you can go to the package page and provide additional information such as a description, screenshots, and categories.

You can also set the visibility of the package to hidden if you don’t want people to see it on the mod.io page. Private packages can still be downloaded in-game when selecting a server that uses the package in the server browser. Finally, updating a package works in the same way as the initial upload.

Note that you don’t need to subscribe to your own packages on the computer where you edit them. If you do, the game will find the same package twice and only load the local version that you uploaded.

Folder layout

Each package is stored in a folder. Packages you create in the editor are store in your game folder under TabletopPlayground/PersistentDownloadDir. Packages downloaded from mod.io are in TabletopPlayground/PersistentDownloadDir/.modio/mods.

The main folder of a package contains a manifest.json, the package thumbnail image, a JSON file for each object template in the package, and a few subfolders. The manifest.json contains some information about the package, such as its name and a unique ID. If you want to copy a package, you need to use the editor functionality instead of just copying the folder so that the copied package and its objects get assigned new IDs.

The subfolders contain the resource files used by the package. When you select a resource file from the file system in the editor (for example when you add a texture from your desktop), the files get copied to the appropriate folder:

  • Models: All geometry files, both for visual models and for colliders.
  • Textures: Any kind of image files, used for regular textures, normal maps, and extra maps.
  • Scripts: The script files used in the package. Also contains dependencies installed with npm.
  • Thumbnails: Cached thumbnails for every object. The thumbnails are generated and updated automatically and are used to load the object library more quickly.

Recovering your package from mod.io

If you have uploaded a package to mod.io but you have lost your original version or you moved to a new computer and you want to edit your package again, do not copy the package in the editor. That would effectively create a new package, and uploading would not update your old package on mod.io. Instead, download the latest zip file from the mod.io page for your package (no need to subscribe), and unzip it into a new folder in the following location:

  • Windows: Right click the game in Steam, select Properties and then Local Files and Browse… From the directory that opens, go to TabletopPlayground\Packages
  • Mac: Open the finder and select “Go to Folder…” in the “Go” menu. Enter ~/Library/Application Support/Epic/TabletopPlayground
  • Linux: ~/.config/Epic/TabletopPlayground/Packages

Note that you may need to unzip to a different directory if you change the package location in the in-game settings under Game->Package Location. After you unzipped the package into a new directory, you will be able to edit and upload it again.

Using motion controllers

You can play Tabletop Playground in VR using mouse and keyboard, but for more immersion we recommend using motion controllers. Tabletop Playground supports Vive Wands, Oculus Touch controllers, Valve Index controllers, and Vive Cosmos controllers. WMR controllers are supported as well, but will show up as an Oculus Touch S model. At any time, you can look at your motion controllers for a few seconds to see a visual guide what each control element does.

When you use motion controllers, the controls work a bit different than with mouse and keyboard. First, you have a main hand and secondary hand. By default, your right hand is the main hand, you can change that in the interface settings. When you open a UI dialog, it will get attached to your secondary hand.

There are two cursor modes for motion controllers: the regular mode works similar to the usual screen cursor. A line is projected from your main hand controller and you point at where you want the cursor to be. In free cursor mode, the cursor is directly attached to you main hand, which enables more natural interactions. Grabbed objects will rotate together with your hand. You can hold the main hand grip button while holding an object to stop the grabbed object from rotating with your hand. You can switch between the cursor modes using a button on your main hand controller.

You have several options of moving around in the world when using motion controllers: First, you can press and hold the secondary hand index finger trigger to drag yourself around in the world. When you let go of the button while you drag, you can propel yourself around quickly! Second, you can use the secondary hand stick or touchpad to move around. If you don’t like this kind of movement, you can deactivate it in the VR settings. Finally, there’s teleporting. By pressing the secondary hand stick (or a touchpad button on Vive wands) controllers, you can teleport to the position of the cursor. While you hold the stick (or button), you can also determine what direction to face after teleporting.

You can do 45° instant turns using the main hand stick or touchpad. When you hold both the main grip button and the secondary hand stick, you can rotate the world around you. You can also change your size by holding the grip buttons of both hands changing the distance between the controllers before releasing the grip buttons.

By default, you don’t collide with the table and can walk through it. In the interface settings, you can turn on table collision. That allows you to teleport yourself on top of the table and make yourself smaller to walk around among your game pieces! In the settings, you can also switch to fly mode, which won’t restrict you to standing on the ground and allows you to move up and down with the main hand stick.