Docs
Studio and Rojo
Link a tile to a running Studio window, and see at a glance whether Rojo is actually synced.
Everything here is window-level: which windows exist, what each has open, and where they sit. Nothing reaches inside Studio.
Linking a tile to a Studio window
A tile can be pointed at a running Studio window, and its header then carries a chip naming the place that window has open. A Roblox project whose name matches exactly one running window is linked automatically.
- Click the chip to bring Studio to the front.
- Shift-click to raise it without moving it.
- Right-click for the list of open windows (to link a different one), for Bring to Left / Center / Right, and for its home monitor — the screen that raising it sends it back to.
Monitors are named both ways round, because either half can be the one you recognise. Quick moves lead with the direction and bracket the monitor — Bring to Center (ASUS VG247Q1A) — while picking a home monitor leads with the monitor and brackets the direction — ASUS VG247Q1A (Left). Past three monitors in a row there is no position worth naming, and the list simply goes by monitor.
Close Studio and the chip stays
It names the place it is still pointed at — and clicking it opens that place, rather than telling you it is shut.
Dispatch can do that because the plugin names itself on the way in: every handshake carries the place’s id, so a place you have had open once is one Dispatch can start again. The chip reads “Opening…” until the window turns up.
A place Dispatch has never seen connect has no id to start, so that chip behaves as it always did — and says why in its tooltip.
Rojo sync
A Rojo workflow has two ends and Dispatch only ever owned one: rojo serve runs in a terminal,
which is a tile, while the Connect that makes Studio listen lives in Rojo’s own plugin.
Forget that click and editing a project looks exactly like editing one that is synced — the files change, the place doesn’t, and the first sign is a playtest behaving like the code from twenty minutes ago.
So the tile header says where sync actually stands:
| Chip | Means |
|---|---|
| Synced (green) | That tile’s Studio window is holding the connection. |
| Not synced (amber) | Studio is open and it isn’t. |
| Serve (dashed) | The project has a *.project.json and nothing is serving it at all. |
Neither end needs Rojo’s cooperation to observe: the server answers /api/rojo with the
project it is serving, and the plugin holds an ordinary loopback socket for the length of a
session. So “which Studio is synced” is a question the OS can answer.
Clicking Serve
It opens a terminal running it — its own tile, in that project, because rojo serve holds a
terminal for as long as it runs and the one you clicked from probably has a session in it. The
chip pulses Starting… until the port is up, then turns amber or green like any other.
A folder is only offered this if it really is a Rojo project. The roblox type is broader than
Rojo — a wally.toml earns it — so what’s looked for is default.project.json, or a single
differently-named *.project.json, which then gets named on the command line.
The chip is a switch
Click it amber and it connects, click it green and it disconnects. With a caveat worth stating plainly:
Studio gives one plugin no way to call another, so there is no API to press Rojo’s Connect with. What Dispatch can do is bring the window forward and type the keyboard shortcut you have bound to Rojo’s
Rojo: Connect/Disconnectaction.
Bind that action rather than the two one-way ones beside it: one chord covers both directions, because Dispatch reads which way sync currently sits immediately before it types.
Set the same chord in Settings ▸ Roblox ▸ Rojo shortcut and the chip works. Leave it empty and the chip just raises Studio.
To bind it in Studio: File ▸ Advanced ▸ Customize Shortcuts.
When the chip stays amber
It reports the state it actually reached rather than the keystroke it sent, so a chip that doesn’t turn tells you something real:
- Nothing is bound to that chord.
- Studio has a modal in front of the place — a plugin shortcut doesn’t fire while an autosave-recovery prompt is up, which is the failure that otherwise looks like the feature being broken.
- Rojo is waiting on its own confirmation prompt.
The message says which.
Rojo’s own Auto Reconnect setting reconnects a place on open and ships off. Turning it on stops most of this happening at all, and the chip’s tooltip says so while it is off.
From a session
dispatch_rojo is the same switch from an agent, which is what makes “check before you edit”
something a session can do for itself.