Use Player Colors


This post refers to the new-and-improved beta version of Tabletop Playground, and may describe functionality or UX not present in the legacy version. For information about the beta, click here.


Often, you’ll want each player to have a differently-colored version of the same object. In TTP, you can set this up automatically by turning on the “Use Player Color” option in the Customize menu.

Here’s a simple example to show how this works. Suppose we want to make it so that each player has cubes of their color.

First, we open Object Library, find the default cube in “General,” and put one on the table.

Then we right-click it and choose “Edit Template”

At first all our options will be greyed out so we hit “Save as New” to copy it into our Package. (see “Editing Objects From Other Packages.”)

Click on the palette icon, and check the “Use Player Color” box (as shown at the top of this section). Then click “Save and Apply” to exit.

Of course, the cube will not have changed color yet… but that’s because it doesn’t know which player it belongs to. So right-click on the cube again, and use the Assign to Player menu to set it to one of your slots:

Voila, the cube changes color to match:

This allows you to use the same template for all players, rather than saving a differently-colored variation for each player.

Note that the colors you see in “Assign to Player” will be those defined in your Player Slot Settings.

Peer-to-Peer Package Sharing


This post refers to the new-and-improved beta version of Tabletop Playground, and may describe functionality or UX not present in the legacy version. For information about the beta, click here.


Usually, packages on Tabletop Playground are shared via Mod.io. This provides the fastest downloads, and handles version control to make sure everyone has the same package. But if you want to skip all of that, you can transfer a game package directly to another user via Peer-to-Peer package sharing.

You don’t need to do anything to enable this. Simply host a game with your package. When a user joins the game, if they don’t already have a package you’re using, they’ll download it directly from you. As they do, you’ll see their username appear in the player list in the upper right corner, along with a progress bar showing how far along they are.

A few things worth noting:

  • By default, packages downloaded this way will be automatically deleted when the user returns to the main menu. If the player receiving the package wants to avoid this, they can choose “Keep Package” from the top menu (accessible by clicking the triple-bar icon at the top center of the screen).
  • If a player joining a game already has a package with the same name as the one the host is using (perhaps because they used “Keep Package” previously), TTP will attempt to use that package “as-is,” without applying any updates from the host. If you’re joining a game, and want to ensure you get the latest version from the host, hit the “Remove Local” button on the Join screen first. This will delete the version of the package you have, causing TTP to download a fresh copy.
  • Downloading packages this way will generally be slower (often substantially so) than downloading them from Mod.io, so if you intend to share this way, you’ll want to keep your package size in check. The asset cleanup tool can help you delete extraneous files from your package. If that doesn’t do the trick, try reducing the resolution on your image files.

We recommend this feature primarily for prototypes that are still in development. Another option for such games is to use Mod.io’s private packages feature. You might also wish to review the Packages article for general info on how packages work.

Creating and Editing Object Templates


This post refers to the new-and-improved beta version of Tabletop Playground, and may describe functionality or UX not present in the legacy version. For information about the beta, click here.


Objects in TTP are created from Object Templates. Once you’ve created an Object Template, it’s stored in your Object Library and you can spawn any number of instances of it on the table.

To create a new Object Template, click “New Template” in your Object Library.

This will bring up the “Select Object Type” modal. Select the type of object you want to create in the left-hand window, then use the modal on the right to load whatever initial asset is required for that object.

In the select resource window, click “Import” to open the file browser, then find and select the file on your computer. 

This will bring you back to the Select Object Type modal, where you can hit “Create” to generate the object.

TTP will then create an instance of your new object in the center of the table, and bring up the Customize dialogue, also known as the Edit Template dialogue.

Up at the top, you can name your object, and/or write a Description for it. (The Description will serve as the tooltip for the item if present; if left blank, it’ll use the name.)

The main window will by default show you the “Customize” dialogue, which offers the most common options for whatever type of object you’re trying to create. Some less-common options specific to that type of object can be found in the Advanced Options tab. The iconized tab buttons on the left-hand side will let you access other options, common to many types of objects.

Once you’re happy with your object, click “Create” at the bottom of the dialogue.

You’ll see that your new object remains on the table. But that’s not the only place it exists. If you reopen your Object Library, you’ll see your new object template inside. By clicking on it, you can place new copies of it on the table. You can also delete any object on the table (including the “original”) without harming the template.

Mousing over the template, you’ll see buttons allowing you to Edit, Duplicate, or Delete it.

Editing Objects

As discussed above, each object on the table is an instance of its template. If you want to change something about an object, you can either modify the template itself, or you can make a change specific to that instance of it.

Editing the Template

You can get back to the Customize menu you saw when you created your object by right-clicking on it, and choosing “Customize” or “Customize -> Edit Template.” You can also click the “Edit” button on the template in your Object Library, though note that doing so will spawn a new instance of that object at the center of the table.

The dialogue that comes up will be identical to that seen during template creation, except that the options on the bottom will be different; you’ll now see “Close,” “Save as New,” and “Save and Apply.”

  • Save as New will create a new template incorporating the changes you’ve just made.
  • Save and Apply will save the changes you’ve just made to the template, applying them to all objects that share that template.

If you click “Close” while you have unsaved changes, it will ask if you wish to save. If you say “Yes,” it will do the same thing as “Save and Apply.”

Note: While in a multiplayer game, only a Host can edit a Template.

Editing an Individual Object

You can adjust an individual object without affecting its template using the other options in the “Customize” sub-menu – Scale and Rotate, Appearance, and Properties.

You can also adjust an object’s scale by mousing over it and hitting the associated hot key (+ or – by default). This will behave the same as if you’d altered it using the Scale and Rotate menu.

Changes you make in this way will not affect any other object using the template, and may be overridden should you alter the template later.

In a multiplayer game, these kinds of adjustments can be made by any player (as opposed to template edits, which can only be made by the host).

Editing Objects From Other Packages

On the left side of your Object Library, you’ll see a variety of packages containing basic objects that come with TTP, along with your own package.

You (and all other players in multiplayer) can place these objects freely and make object-level edits to them. However, you can only edit the template of objects in your package. If you attempt to edit the template of one of the built-in objects, you’ll see the normal Customize screen with most of the options greyed out:

But all you need to do to correct this problem is hit the “Save as New” button at the bottom. This will save a copy of the Object Template in question to your package, which you can then edit freely.


Alternatively, you can copy an object to your package by mousing over it in the Object Library and clicking “Duplicate this template.”

If you go back to your package, you’ll see the duplicate there, at which point you can interact with it as you would any other object.

Next Steps

For more about creating and editing certain kinds of objects, refer to the links below:

How to Make a Game


This post refers to the new-and-improved beta version of Tabletop Playground, and may describe functionality or UX not present in the legacy version. For information about the beta, click here.


So you want to get started making games in Tabletop Playground? You’ve come to the right place. This page will walk you through the basics of creating a game, linking you to more in-depth articles along the way.

Creating Packages

To create a new game package go to “Editor” in the Main Menu. This will bring up the “Select Package” dialogue. 

The left pane of the dialogue shows your packages, and the right pane shows the starting table states you’ve saved for each package. 

Click “New Package” in the upper left corner, followed by “Continue.” (Your only option on the right will be “Start With Empty Table,” which should be selected automatically.)

You will then be prompted to select a Table, followed by an Environment. (Both selections are only necessary when starting with an empty table.)

You’ll then be taken to the table scene, where you’ll be prompted to name your package, and provide a logo for it if you wish. Both steps are optional (if you decline to enter a name, it will remain “New Package”). Should you wish to add a logo image, you can mouse over the “Select Image” button to see the suggested parameters. You can change the name and image later by choosing “Package Properties” from the top menu.

Using the Object Library

Once you close “Package Properties,” the “Object Library” window should appear. You’ll use the Object Library to create all the components your game needs.

Clicking outside the Object Library will close it. To re-open it, you can either click the second button in the upper left toolbar, or right-click on any empty bit of table and select “Object Library” from the Context menu.

To learn the basics of component creation, read Creating and Using Object Templates.

After that, you may want to check out some of the following:

  • Cards, Tiles and Tokens if your game contains any of those.
  • Dice if you need to make custom dice.
  • Use Player Colors if your game includes things like pawns or cubes that you want each player to have distinctly colored versions of.
  • Web Images if you’d like to use web-hosted images rather than in-package assets.

Setting Up Your Table

Once you’ve created your object templates, you’ll naturally want to arrange them on the table. Simply click templates in your library to spawn them, as you learned in tutorial.

As you do, you may want to set up seats for each of your players. Read Setting Up Player Slots to learn how.

Saving Your Table

When you’re happy with the state of your table, pull up the Menu by clicking on the top center of the screen or hitting escape

Then choose “Save State” 

If you have your package selected on the left, your state will be saved as a “Starting State” for your package. The next time you go to the Select Package menu, you’ll see that state as an option, in addition to “Start With Empty Table”

This will not only return you to the state you left your table in, but will allow you to bypass selecting your table and environment. (Should you wish to change your environment later, you can do so from the Menu on the playmat.)

The “Local Saves” folder meanwhile is intended for saving specific game states. As the name implies, these will not be included with your package should you ever upload it to Mod.io.

Note: Changes to your package and object templates save independently from table states. This has a few implications to be aware of:

  • Any work you do on your object templates will be preserved, even if you close without saving the table state or experience a crash. (You could also recover the table state itself if desired by choosing “Autosaves” on the package select screen.)
  • If you change a template in the middle of a game, those changes will be reflected in your saved start states (and any other saved games) as well.

Playing Your Game

If you want to play your game solo, we’d recommend just doing that in the Editor, moving pieces around as you’ve been doing when setting up.

But if you want to share your game with others and play multiplayer, you have a few options. First you could upload your package to Mod.io by choosing “Upload Package” from the main menu. If your game isn’t ready for public consumption, read Playtesting and Playing with Private Packages to learn more about how this works.

Alternatively, you can simply start a game with your package, allowing anyone who joins to download it directly from you via Peer-to-Peer Package Sharing. Note that while simpler, this will likely be slower.

Further Reading

  • Managing Assets will explain more about how files are handled, and how you can easily clean up unwanted ones with the Asset Cleanup Tool.
  • User Interface Basics will explain how to add custom UI elements to your game.
  • Scripting 101 offers a quick tutorial on how to add scripted functionality to your game. You may also want to read Scripting Basics for a more in-depth explanation.
  • If you already have a Tabletop Simulator save you’d like to pull into TTP, you can try the TTS Importer (WIP).