Switcher Object

Switchers are different from other object types: they don’t have their own appearance and instead always look like the currently active switchable object. You don’t create switchable objects in the editor, but in-game: in the context menu for multiple selected objects, click “Create Switcher”. The selected objects will be combined into one switcher object.

The order of states in the new switcher is determined by the order in which you select the object to combine, and which object you right click to create the switcher. If you care about the order of states in the switcher, the easiest way to ensure the order of selected objects is to hold Ctrl and click the objects one by one to add them to the selection. Then make sure that you right click the object which should become the first state to bring up the context menu.

Switcher objects have custom actions to switch to the next or previous state, and to pick a random state. Each state corresponds to one of the objects that the switcher was created with. Finally, there’s the “Remove Switcher” option which will just keep the current state object and remove the switcher along with all other states. If the current state object doesn’t define a primary or secondary action, the respective hotkeys can be used to switch to the next or previous state object.

You can still modify each state object (for example by changing their color) and the modified state will remain when you switch ot another state and back. You can do most actions with objects that are part of a switcher that you could do with regular objects, with a few exceptions: switcher objects can’t become parts of new switchers, and switchable cards can’t go into other card stacks (but other cards can be added to the switchable card stack). Switchable cards in card holders can’t change their state while in the holder.

Changing the location of mod.io installs

If you want to change where the packages that are downloaded from mod.io are stored, you need to enter the path you want to use in a file to tell mod.io where to save the downloaded packages. Here’s how to find the file (globalsettings.json) depending on your platform:

  • Windows Open an explorer window and type %localappdata% in the address bar. Then, go to the mod.io folder.
  • Mac In the finder menu, click on “Go”, then “Go to Folder…” and enter ~/Library/Application Support/mod.io
  • Linux In your home directory, go to the mod.io folder

In the file, you will see an entry that looks like this: {"RootLocalStoragePath":"C:/Users/Public/mod.io/"}
Change the path inside the brackets to the folder you want. On Windows, take care that you use / instead of \ to separate the path. For example, you can modify the file to look like this: {"RootLocalStoragePath":"E:/Game Data/mod.io/"} to store your downloaded packages in the folder E:\Game Data\mods\. If the file contains multiple entries, you can delete all except one.


You can attach tags to various entities in order to modify their behavior. Tags have three main uses:

  • For snap points, tags can define what objects can snap to a particular snap point.
  • For containers, tags can define what objects can be inserted into the container.
  • In the container explorer, stack explorer, and object library, the search will find objects where a tag matches the search term in addition to objects where the name matches.
Editing tags

There are a couple of places where you can edit tags:

  • In the in-game object properties, you can set which tags an object has.
  • In the in-game object properties for a container, you can also set the container tags: they determine what objects can be inserted into the container. If the container tags are not empty, only object that have at least one matching tag can be inserted.
  • In the editor object properties pane, you can set the default tags for objects of this type. A newly created object will have these tags, but they can be modified in the in-game object properties.
  • In the editor snap points pane, you can set tags for each snap point. If tags for a snap point are not empty, only objects that have at least one matching tag can snap to the snap point.
  • In the editor for card objects and similar types like tiles or tokens, you can set tags for each image index in the deck. Card tags are used in the card stack explorer window to quickly find cards with a tag that matches the search term. If an object is a single card (and not a stack of cards), the tags used for snapping and containers will be combined from both the object tags and the card tags for this card.
    When you use tags from scripting, myCard.getTags() returns only the object tags, and the card tags are accessible using CardDetails.tags, for example myCard.getCardDetails().tags for a single card.

The tag editor always shows all tags that are in use for the current game (when used in-game or in preview mode) or the current package (when used in the editor). This allows you to quickly find and activate tags that are already used elsewhere. To create a new tag, enter the name in the search field and press enter or the “Plus” button.

Playtesting and playing with private packages

Not all games you create should be accessible for everyone, or you may have a prototype that you want to test that isn’t ready to go public yet. You can make your package private by checking the “Private” checkbox when you upload you package in the editor. If you want to make it public later, uncheck the checkbox when uploading a new version or change the visibility in the Edit section of the mod.io page of your mod.

If you want to play with others while your package is still private, you can either add them to the team or use preview links. To add other users to the team for your mod, open the mod.io page, go to “Edit”, then “Team” and add them using their mod.io username or email addresses. They can then subscribe to the package through the mod.io page.

If your players shouldn’t be part of your team, or if you don’t want to add them manually, you can use preview links: at the top of your private package’s page, there will be a notice telling you that it is not available publicly. If you don’t see the notice, click on “Use old site” on the top of the page. The notice includes a link that you can share with your testers. Using the link, they can access the page of your private package. If they are logged in using their Steam account, they can subscribe and the package will be downloaded in-game. Since the preview links work through the regular browser, make sure that your players are logged in to mod.io with their Steam account! If they have already created an account using their mail address, they can link it with their Steam account by clicking on their user name in the upper right and selecting “Profile”. At the bottom of the page there’s a “Connected Accounts” section, clicking on the Steam icon will open a prompt asking them to log in with their Steam account.

Note that the preview link expires whenever you upload a new version of your package. But the subscriptions remain active, everyone who has subscribed will get the latest version automatically.

Community Resources

The most important place to find creations by the community is the game’s mod.io page, where you’ll find all games, expansions, and object libraries: https://tabletopplayground.mod.io. You can find guides and useful hints created by the community in two places:

On mod.io: https://tabletopplayground.mod.io/guides
And on Steam: https://steamcommunity.com/app/838410/guides/

If you want to add your own guides, mod.io is the better place: future players who might not use Steam will be able to find your content there, too.