Packages

This page covers **packages**, the basic component of *Tabletop Playground*.

## Overview

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 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.

### 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 (and shouldn’t!) subscribe to your own packages on the computer where you edit them. If you do, the game will find the same package twice in different directories and display an error.