EZY Virtual TableTop Builder · build 25017499 · published
This update significantly expands what you can build in EZY VTT while making everyday play smoother and more reliable.
The centerpiece is Expert Mode: a new way to build complete modules as text while staying connected to EZY VTT's visual tools. It includes live two-way synchronization, custom layouts, optional author extensions, starter templates, module imports with a full preview, and a complete built-in reference. The tabletop also gains 60 action animations and 60 condition animations, along with improved condition controls in both 2D and 3D. We have also created a native Linux build for Steam, expanded Steam Workshop support, improved localization, and fixed a wide range of issues affecting dice, walls, vision, sheets, formulas, and editor autosave.
Expert Mode is a new feature available to all EZY VTT users on Steam. It is designed for authors who want to build or edit a complete module as text and use EZY VTT's visual tools whenever they are more convenient.
The code panel is available across the Hub, My Modules, the visual editors, and the game table. Open it once and it follows the module you are currently working on as you move through the app.
Moving between pages preserves your active file, cursor position, scroll position, and unapplied text. If a visual editor produces a newer version while you still have unapplied changes in the panel, your text is protected and the panel tells you that the saved module has changed instead of overwriting your work.
Code and visual editing stay synchronized in both directions:
The panel can be resized, moved to either side of the screen, or detached into its own window. You can collapse individual code blocks or fold everything at once for easier navigation. Expert Mode shortcuts work consistently across keyboard layouts.
Expert Mode supports both editable multi-file trees and single-file modules. .ezy packages preserve the file-tree structure.
The editor includes syntax highlighting, line numbers, warnings, errors, and practical suggestions. It checks references across the whole module, so a skill pointing to a missing attribute, a sheet block pointing to a missing field, or a shop entry pointing to a missing item can be reported before the module is saved or used in a session.
When applying code from Expert Mode, invalid changes are rejected as a whole. EZY VTT will not apply half of a broken module and leave the rest behind. Editors also explain which unsupported or misspelled settings were not accepted, so typos and outdated fields are easy to find.
Expert Mode includes four ready-to-use starting points:
Template content is created in your current interface language. If you already have text in the panel, EZY VTT clearly warns you before replacing it.
The "What changed since the saved version?" view compares the meaning of your module data rather than raw line positions. Reordering an entry inside a list is ignored unless the entry itself has changed.
You can paste a complete module into the panel and inspect the result before installing it. The preview shows what will be added, replaced, or removed, identifies conflicts between files, and lists media that is referenced but not included in the pasted text.
You can merge the imported module into your current work or replace the current module entirely. Before replacing existing content, the app states the consequence and requires a deliberate confirmation.
If the module contains optional author code, the installation screen shows what that code requests. You can install the module normally, install it without the code, or keep the code blocked locally until you decide to enable it.
Module authors can design custom sheets with HTML and CSS, bind character, item, and table data into the layout, show or hide sections based on conditions, and repeat sections for lists of data. A live preview updates while the layout is being edited.
Author-designed layouts can be used for player sheets, GM sheets, NPC sheets, and the shared table sheet. Item cards use item-focused data and can also display owner information when the item is held by a character, allowing the same design to work for an unowned item in the Compendium and for an item held by a character.
A custom sheet block lets visual-editor users place supported output from an author extension directly onto a regular sheet. Extensions can also create custom visual decorations around tokens at the table.
Author extensions run in an isolated environment with only the permissions and data that EZY VTT explicitly provides. They do not receive direct access to the network, local files, browser storage, or the application page. The installation screen shows the capabilities requested by the module. You can install the module with its code enabled, install it without the code, or keep the code locally blocked. Blocked modules are marked in My Modules, and you can change this choice without reloading EZY VTT.
If an extension fails or stops responding, the extension is disabled for the session while the table and other extensions continue to run. The table reports the problem once and continues running.
Please note: author-designed HTML/CSS sheets are currently display layouts at the table. Native block-sheet controls such as inline value editing, resource +/- buttons, pages, and tabs are not added automatically. If a module inherits a custom layout that you do not want to use, you can disable it in the sheet settings and return to the visual block-based sheet.
The full module-format reference opens directly from the code panel and works offline. It includes a quick start, module structure, formula language, automation, sheet layout guidance, practical recipes, security limits, version and migration guidance, field documentation, and working examples.
The reference includes full-text search and a table of contents. You can download it as Markdown, save it as standalone HTML, or print or save it as a PDF.
It is available in all nine supported interface languages: Russian, English, German, Spanish, French, Indonesian, Italian, Polish, and Brazilian Portuguese.
The reference is designed for practical use inside and outside the app:
Live sessions include 60 one-shot action animations and 60 persistent condition animations.
Action effects cover melee attacks, elemental powers, arcane effects, firearms, energy weapons, support abilities, projectiles, beams, explosions, and movement. Attacks can use any of the 60 action presets, and the Actions editor includes an organized selector with a live preview before you save.
Animations work in both 2D and 3D. Projectiles, beams, ropes, and similar effects follow a moving target during playback, while ground-targeted area effects stay attached to their selected location. The new effects also respect reduced-motion settings, removing screen shake and harsh flashing while keeping important visual feedback clear.
Condition animations appear above tokens and use the preset and color chosen by the module author. A set of 50 condition icons is also available for clearer at-a-glance status tracking.
Conditions can be applied or removed directly from a token's context menu without opening the character sheet.
Conditions with icons appear in a dedicated column beside the token. Their remaining round count is displayed on the icon and synchronized to players, while iconless conditions and tags appear as chips. A remembered display option lets you show icons and chips together.
Click a condition icon to open a compact window with its name, description, and duration. The GM can increase or decrease the remaining rounds or remove the condition from the same window.
Several multiplayer wall issues have been fixed:
Dice results and journal entries are handled independently of the visual dice animation. If the renderer is loading or cannot display the animation, the actual result is recorded and synchronized.
Additional fixes cover unusually large dice pools, rolls arriving while room history is loading, and malformed entries preventing later journal messages from appearing. A visual effect may be skipped when necessary, but the roll itself reaches the players and the journal.
Death saves support an attribute, a skill, an additional die, or a flat modifier. This makes it possible to configure rules such as "d20 + Fortitude against 15" for both the success/failure tracker and a single death-save roll.
Critical results use the natural die face, while the modified total is compared with the target number.
Equipment, conditions, effects, and Logic can modify a token's vision range. Module authors can use the same flexible system to create mechanics such as:
A token with zero vision does not reveal the cell directly beneath it.
Temporary effects applied during play resolve after permanent equipment and module modifiers, in the order they were applied. This means a newly applied blindness effect can correctly override an earlier minimum-vision bonus, while the result of permanent equipment remains stable regardless of the order in which it was equipped.
Each player's app assembles supported table-journal messages in that player's interface language rather than receiving one finished sentence in the sender's language. A German player and a Polish player can therefore read the same event in their own languages even when the GM uses Russian.
Player names, character names, weapon names, and other module-authored content remain exactly as the author wrote them.
A broad localization pass corrected remaining Russian labels and generated text that could appear in other language versions. This includes editor labels, tooltips, counters, Logic and automation messages, animation names and descriptions, validation feedback, and other interface text created while the app is running.
The complete animation catalog is localized, including all 60 action names, all 60 condition names, their categories, and the action descriptions shown in the editor.
New modules create their starter attributes, actions, and descriptions in the author's selected language. Expert Mode templates, validation messages, and reference content also follow the current interface language.
This update includes a native Linux build for Steam, targeting Linux and SteamOS. Steam selects the correct platform build automatically, so no separate download is required.
The Steam edition lets you manage Workshop modules from inside EZY VTT. Authors can publish modules, while users can browse Workshop content, open entries, subscribe, unsubscribe, and access subscribed modules without leaving the app.
Updating a Workshop module correctly removes files omitted from the published version.
Desktop modules support additional font and video formats accepted by the editor. Styling issues affecting the language selector and the "Found a bug?" button in the desktop app have also been fixed.
Thank you to everyone who reported issues, shared screenshots, and described the exact situations in which something went wrong. Your feedback directly shaped this release.
If you run into a problem after updating, please use the built-in "Found a bug?" button or let us know in the Steam discussions. We hope the new tools give module creators more freedom and make every EZY VTT session clearer, livelier, and more reliable.