Overview

Foundry Virtual Tabletop features a number of configurable settings which are accessed by clicking the Configure Settings button in the Settings Sidebar tab. Settings allow you to customise your FVTT experience and the way you interact with the software.

Note that these settings differ from the Application Configuration settings which are controlled by the server host.

Setting Scopes

Setting Scopes are configured by the Foundry VTT API and determine if a setting affects all users, or only the user who has made the change. Setting scopes fall under Client and World.

Saving Your Settings

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

Core Software Settings

Core Game Settings Configuration
The Core Settings menu as seen by a gamemaster.

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

Configure Permissions
[World] 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
[Client] 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 Audio/Video Chat Integration guide for more details on the settings contained here.
Default Token Configuration
[World] This button opens a separate configuration menu that allows you to customize the default settings that all tokens should have. For details on what the various options affect see the Tokens article.
Disable Game Canvas
[Client] This option, when toggled, disables the game cavas that allows for the rendering of scenes but still allows the remaining functionality of Foundry Virtual Tabletop to fully function. This is setting designed to allow for individual users with less capable computer hardware to still interact with the other aspects of Foundry Virtual Tabletop without the additional hardware requirements that the WebGL canvas involve.
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
[Client] 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
[Client] 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.
Left-Click to Release Objects
[Client] When set, this object allows you to release objects (deselect) on the canvas by using a single left click anywhere on the canvas, rather than the default behaviour of requiring a click-and-drag in empty space.
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.
Token Drag Vision
[World] When enabled, vision and lighting for a Token is previewed in real time during a left-click drag, allowing your players to preview what their token would be able to see when moved.
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.
Token Vision Animation
[Client] When disabled, tokens will only update their vision when they arrive at the destination of their movement, rather than as they move. Disabling this setting may offer improved performance for machines with lower-end hardware.
Zoomed Texture Antialiasing
[Client] By default, FVTT uses mipmap antialiasing on sprite textures such as tiles or tokens at lower levels of zoom, if disabled, textures will appear sharper when zoomed out but can look pixelated.
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.

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 Users and Permissions 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.
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.
Display Ruler Measurement
Display the position of the player's ruler measurement tool 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 File Browser
Allow players with this role to browse through available files in the File Picker.
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");