Connect D&D Beyond, Roll20 and the Compass app to your DM Screen.
Compass Bridge is an unpacked Chrome extension. It reads the character sheets, campaign pages and Roll20 Turn Order you already have open, performs only the changes you ask for, and relays dice text from the Loremaster's Compass desktop app over a local-only connection.
The Chrome Web Store listing is pending review. The installer is not code-signed, so Windows may show an "Unknown publisher" warning; the ZIP lets you install without running an executable. Both contain the same extension files.
Install or update
- Run the installer, or extract the ZIP into
Documents\DM Screen Connector. - Open
chrome://extensionsand turn on Developer mode. - First install: choose Load unpacked and select that folder. Update: click the circular Reload arrow on the connector's card and confirm the version.
- Refresh any open D&D Beyond, Roll20 and DM Screen tabs so they pick up the new connector.
What it does
D&D Beyond character sheetsHP, AC, initiative, abilities, saves, passives, movement, vision, coins, containers, equipped gear, attunement, conditions and tagged DM notes.
Reviewed updatesNotes and inventory changes are staged in the DM Screen, applied on the sheet, and read back before they count as done.
Roll20 initiative and diceImport the visible Turn Order, export party scores, follow the current turn, and let Roll20 resolve native rolls.
Monster catalogue and homebrewAccount-available monsters for the encounter builder, and private magic items built and verified in the D&D Beyond homebrew creator.
Loremaster's CompassDice text from the desktop app reaches an open Roll20 chat over 127.0.0.1 only; the initiative lookup answers by token name from the active campaign.
What changed in 0.8.134
- DM Screen → D&D Beyond: HP and temporary HP changed on the DM Screen — a quick action, or a change that arrived from a Roll20 token — are written onto the character’s sheet through its HP Management pane and read back before reporting ("DM Screen → D&D Beyond: Name" in Recent activity). Edits are debounced per character, one sheet at a time. The live reader knows what to expect, so the write is never reported back as a sheet change. Switch: "Write HP back to D&D Beyond" on the party overview.
What changed in 0.8.132
- D&D Beyond → DM Screen, live: while a DM Screen is open, the connector reads each of the campaign’s characters from D&D Beyond’s character service every 30 seconds (with your own session, the same read the Compass character lane makes) and reports changes to HP, temporary HP, conditions and death saves as "D&D Beyond → Name" in Recent activity. With "Bars follow D&D Beyond syncs" on, the change continues to the Roll20 tokens. Nothing is written to D&D Beyond; reading stops three minutes after the last DM Screen closes.
What changed in 0.8.131
- Adding mundane gear from the catalogue matches again: the drawer labels a torch both "Gear" and "Adventuring Gear", and the identity check accepted only the first. The DM Screen also runs the export preflight again before writing, so a queued item that cannot be resolved is refused with its reason instead of failing on the sheet.
What changed in 0.8.130
- Bars edited in Roll20 come back: when a party token’s Bar 1/2/3 changes on the map you are viewing (a player or you adjusting HP on the token), the DM Screen updates that character’s HP, temp HP or AC and notes it in Recent activity. The connector’s own bar writes are recognised and ignored, so nothing loops.
What changed in 0.8.129
- Adding items to Party Inventory verifies again: the fresh-sheet check after an add gave the My Inventory / Party Inventory switcher too little time to mount (a 0.8.119 side effect) and reported "Party Inventory did not open for verification". Every inventory-view failure now names the stage that failed, the Equipment tab is waited for after a sheet reload, and a verification failure no longer hides what the add step itself reported.
What changed in 0.8.125
- Roll20 token bars without a Mod: "Sync token bars" on the initiative panel sets Bar 1 (temporary HP), Bar 2 (AC) and Bar 3 (HP / max) on the party’s tokens on the map you are looking at, from the synced D&D Beyond values, through Roll20’s own client model. Tokens are found by the id learned on import, else by name (or the alias under "Roll20 token names…"). A bar linked to a character attribute is written through that attribute so every copy of the token follows. "Bars follow D&D Beyond syncs" does it automatically after each party sync. Every copy of a character’s token on the map gets the same bars, and a token named "Pryze" matches the character "Pryze Noctivar" when no exact name is present.
What changed in 0.8.122
- Item moves accept the Move menu's plain "Equipment" entry for a top-level inventory (the menu no longer says "My Equipment").
What changed in 0.8.121
- Inventory snapshots find the campaign id on the current sheet layout (the campaign is a button now, not a link), so coin and item transfers between two sheets pass the same-campaign check again.
What changed in 0.8.119
- Sheets the DM sees without the My Inventory / Party Inventory switcher are read again; before, every refresh of such a sheet ended with "My Inventory did not open", and coin moves from it never started.
- Coin locations are read from the Manage Coin pane, one per wallet: a wallet per container when D&D Beyond's coins-in-containers is on, the single Total wallet when it is off. Coin moves adjust and verify that same wallet, and the DM Screen's "from" list shows exactly those wallets.
What changed in 0.8.118
- Coin moves to or from the Party Inventory purse: the write side used its own locator, which never found the party coin block, so every party coin move failed before it started. It now finds the same purse the snapshot reports.
What changed in 0.8.117
- Party coins: the Party Inventory view's coin block is now read (it reported zero before), and counts such as 2,165 parse as 2165.
What changed in 0.8.103–0.8.116
- Stepping the turn on the DM Screen can announce it in Roll20 chat ("It is So-and-so's turn!", template editable) as an unattributed system line (/desc), an emote, a named voice, or as you — optionally with a private whisper to the current combatant's player. Turns of GM-layer tokens are flagged on import and never announced. "Add selected tokens" adds the tokens selected on the map to the Turn Order (Roll20's own Add Turn), so exported scores bind to tokens; a token that already has a turn is never left in twice: while the DM Screen follows the game, a duplicate turn (from Roll20's own Add Turn or anywhere else) is removed the moment it appears. After an export the tracker is sorted by initiative. Initiative rolls can be posted to chat: party rolls publicly, creature rolls as a whisper to the GM; a whisper Roll20 cannot deliver is reported on the DM Screen. The extension types the line into the chat box itself, so no Mod or Pro subscription is involved; a chat draft you are typing is never overwritten.
What changed in 0.8.102
- Roll20 turn changes reach the DM Screen instantly, even while its tab is in the background. Chrome only lets a hidden tab's timers run about once a minute, so the tracker now pushes each change instead of waiting to be asked.
What changed in 0.8.101
- Roll20 Turn Order reads work immediately after an initiative export: the Settings pane the export opens to add custom turns no longer counts as a second tracker, and the connector closes it when the export finishes.
What changed in 0.8.100
- Magic-item descriptions written with the workshop's rich-text editor keep their fonts, sizes, colours, alignment, rules and tables on the way into D&D Beyond's builder (the same formatting its own editor offers).
What changed in 0.8.99
- The workshop's My creations on D&D Beyond list reads your magic items from My Creations with their Private / Published / Deleted status. Private ones can be deleted, deleted ones restored, each through the site's own control and verified on the item page.
What changed in 0.8.97
- The magic item workshop can delete one of your own unpublished homebrew items. The connector opens the item page hidden, uses D&D Beyond's Delete control, and confirms D&D Beyond now shows the item as deleted (it keeps a Restore option in your deleted creations). Published items are refused, as D&D Beyond itself requires.
What changed in 0.8.94
- Character sheets inside a collapsed Chrome tab group are frozen by Chrome and never answered a scan. The connector now expands that group for the duration of the job and collapses it again. This adds the
tabGroupspermission: after reloading, Chrome may show the extension as needing new permissions; re-enable it on the card.
What changed in 0.8.93
- Character-sheet and Roll20 tabs the DM Screen has read are marked so Chrome's Memory Saver leaves them loaded; scans no longer sit on "Still reloading" because a sheet tab was discarded.
- A sheet that was already discarded is woken with one reload and given a longer readiness window.
What changed in 0.8.92
- Monster catalogue reads no longer stall when the reader tab is in the background; the full listing loads.
- The account equipment catalogue reads in seconds instead of minutes.
- Magic-item builder details can be imported for official and subscribed items, not only your own creations.
- Creating a magic item no longer stops after the details save when D&D Beyond reloads the editor.