OBS overlay setup
How to wire the 2026 stream overlays into OBS.
What the OBS token is
The OBS token is a secret key tied to this contest. Overlay URLs carry it as a ?key=… parameter, and it is the only thing that authorizes them — no login, no cookies. In exchange, those URLs serve live, pre-publish data: current vote tallies, ban/pick state, and countdowns, before any of it is public. That is the whole point — a caster needs the numbers before the audience does.
Because the token is the gate, treat every overlay URL as a secret. If it leaks, an organizer regenerates the token on the caster dashboard and every old URL instantly stops working.
Casters and organizers find the real token, with every URL pre-filled, on the caster dashboard. This page uses <YOUR_TOKEN> as a placeholder.
The overlay URLs
Replace <YOUR_TOKEN> with the contest token and <MATCHUP_ID> with the matchup you are casting (both are shown on the caster dashboard).
- Scoreboard (Browser source)
https://osubwc.com/obs/2026/scoreboard?matchup=<MATCHUP_ID>&layout=versus&key=<YOUR_TOKEN> - Current round JSON
https://osubwc.com/obs/2026/current.json?key=<YOUR_TOKEN> - Matchup JSON
https://osubwc.com/obs/2026/matchup/<MATCHUP_ID>.json?key=<YOUR_TOKEN> - Text atoms (one string each)
https://osubwc.com/obs/2026/matchup/<MATCHUP_ID>/team1.txt?key=<YOUR_TOKEN>
alsoteam2.txt,team1-anon.txt,team2-anon.txt,score.txt,state.txt,song.txt,banned.txt
Add the scoreboard (Browser source)
- In OBS, under Sources, click + and choose Browser. Name it (e.g. “Scoreboard”) and click OK.
- In URL, paste the full scoreboard URL above (with the token and matchup id filled in).
- Set Width and Height to your overlay area (e.g. 1920 × 1080), then click OK.
- The board polls itself for live tallies, ban/pick state and the countdown — no extra setup. To follow a different matchup, edit the source and change
matchup=.
Add a text atom (Text source)
- Add a Text (GDI+) source (Windows) or Text (FreeType 2) (macOS/Linux).
- Tick Read from file. OBS text sources can read from a URL as well as a local file — enter one of the
.txtURLs above (e.g.score.txt).
If your OBS build only reads local files, run a tiny fetch loop that saves the URL to a file and point the source at that file. - Style the font/colour to match your scene. The atom updates itself as the match progresses (score, phase, picked song, …).
- Repeat for each atom you want on screen — team names, score, state/countdown, picked/banned song.
Keep the token private
The token grants pre-publish access, so do not paste overlay URLs into public chats, share your scene collection with the URLs embedded, or screen-share the caster dashboard. If it gets out, an organizer clicks Regenerate token on the caster dashboard to revoke every old URL at once — then update your OBS sources with the new URLs.