Foundry Virtual Tabletop features a number of configurable settings which are accessed by clicking the Configure Settings button in the Settings Sidebar tab.

Note that these settings differ from the Setup and Hosting settings which are controlled by the server host.

Setting Scopes

There are two different setting scopes which are applied:


Core Software Settings

The following configurable settings are supported by the core Foundry Virtual Tabletop software on the "Core Settings" tab.

Core Game Settings Configuration
The Core Settings which can be configured by a gamemaster user in the Settings Sidebar.
Configure Permissions
Open a separate configuration menu to customize permission controls for different User roles. See the section specific to Permission Configuration below for more details.
Configure Audio/Video
Foundry Virtual Tabletop supports optional configuration of Audio/Video chat integration using WebRTC. This button opens a separate dialog window for configuration of this feature. See the guide for more details.
Language Preference
[Client] Select a supported language which you would like to use for Foundry Virtual Tabletop. English is supported by default and other languages may be installed as Modules. If a translation module is installed any languages which it defines will appear as an option in this dropdown list.
Enable Chat Bubbles
[World] If this setting is enabled, in-character chat messages which originate from an Actor who has a Token on the active Scene will display a chat bubble above the position of that Token for all players.
Pan to Token Speaker
[World] If this setting is enabled, and Enable Chat Bubbles is also enabled, when a Token chat bubble is displayed the camera position of the Scene will automatically pan to the location of the speaking Token.
Maximum Framerate
[Client] Set a maximum framerate at which the Foundry Virtual Tabletop canvas will be rendered. By default the canvas renders at 60fps, but setting a lower maximum value may be helpful to limit the resource consumption of the Foundry application on less powerful machines.
Enable Soft Shadows
[Client] Enable or disable the blur effect which is applied to dynamic lighting and fog of war which makes the edges of light sources and shadows "soft". Disabling this setting may offer improved performance for machines with lower-end hardware.
Animate Roll Tables
[World] If this setting is enabled, Roll Tables will display a roulette-style animation when results are drawn and the Table Configuration sheet is currently open.
Cone Template Type
[World] Choose which template measurement style should be used for cones. Flat cones will draw a straight line between the two outer rays while rounded cones will include a radial arc based on the angle of the cone.

Changes to these game settings are only applied when the Save Changes button is clicked and some changes may require the browser to automatically refresh in order to take effect. All settings can be reset back to their default values by clicking the Reset Defaults button.


Permission Configuration

Clicking on the Permission Configuration button of the settings menu allows the customization of specific permissions which can be assigned or removed from different User roles.

Visit the The User Entity documentation to learn more about User roles and what they represent.

Each Permission can be assigned to a set of Roles which are able to perform that permission. Some permissions cannot be revoked for a Gamemaster role while others can be disabled even for Gamemaster users. The image below shows the Permission Configuration form and the list which follows describes each permission capability.

Permission Configuration Settings
The Permission Configuration submenu allows for fine-tuned customization of the permissions allowed to each User role.
Allow Broadcasting Audio
Allow players with this role to broadcast audio when using A/V chat integration.
Allow Broadcasting Video
Allow players with this role to broadcast video when using A/V chat integration.
Browse File Explorer
Allow players with this role to browse through available files in the File Picker.
Configure Token Settings
Allow players with this role to configure the settings for Tokens that they own.
Create Journal Entries
Allow players with this role to create new Journal Entries in the Journal sidebar.
Create Measured Template
Allow players with this role to create templates for area-of-effect measurement.
Create New Actors
Allow players with this role to create new Actors in the World.
Create New Items
Allow players with this role to create new Items in the World.
Create New Tokens
Allow players with this role to place Tokens for Actors they own on the game canvas.
Display Mouse Cursor
Display the position of the player's mouse cursor which illustrates where the user is looking on the canvas.
Modify Configuration Settings
Allow players with this role to modify game settings and enable or disable modules.
Open and Close Doors
Allow players with this role interact with doors defined on the Walls Layer.
Upload New Files
Allow players with this role to upload content to the server using the File Picker.
Use Drawing Tools
Allow players with this role to create Drawings using the drawing tools.
Use Script Macros
Allow players with this role to use JavaScript macros which access the API.
Whisper Private Messages
Allow players with this role whisper private messages that the Game Master cannot see.

Changes to Permission Configuration are only applied when the Save Configuration button is clicked and some changes may require the browser to automatically refresh in order to take effect. All settings can be reset back to their default values by clicking the Reset Defaults button.


API References

Module and system developers have the capability to register their own settings and settings menus using the Foundry API. This involves working with the "ClientSettings" API (although this also manages world settings) to register settings and settings menus. Some examples are provided below, but see the API documentation for more detail.

Defining a Game Setting

// Define a new setting which can be stored and retrieved
game.settings.register("myModule", "mySetting", {
  name: "Register a Module Setting with Choices",
  hint: "A description of the registered setting and its behavior.",
  scope: "client",
  config: true,
  type: String,
  choices: {
    "a": "Option A",
    "b": "Option B"
  },
  default: "a",
  onChange: value => console.log(value)
});

Defining a Settings Submenu

// Define a settings submenu which handles advanced configuration needs
game.settings.registerMenu("myModule", "mySettingsMenu", {
  name: "My Settings Submenu",
  label: "The label which appears on the Settings submenu button",
  hint: "A description of what will occur in the submenu dialog.",
  icon: "fas fa-bars",
  type: MySubmenuApplicationClass,
  restricted: false
});

Referencing and Assigning a Setting Value

// Retrieve the current setting value
game.settings.get("myModule", "mySetting");
// Assign a new setting value
game.settings.set("myModule", "mySetting", "b");