Live, hotkey-friendly scoreboard overlay for OBS

Control scores, total wins, and timer with a crisp glass UI and an auto-updating Browser Source.

✨ Features

🕐 Timer

Count up/down with pause & reset. State is persisted and the overlay updates live.

🏁 Scoreboard

Control scores, total wins, swap sides, and toggle visibility from the dock or hotkeys.

🖼️ Hashed Logos

Logo uploads are copied to overlay/ with a short hash to prevent caching issues.

⚙️ Settings

Server health, port selection, open overlay folder, and a quick hotkeys guide.

🌐 Browser Source

Auto-creates/updates a Browser Source pointing at the local overlay.

⌨️ Hotkeys

Bind +1/−1, swap teams, and show/hide in OBS → Settings → Hotkeys.

🚀 Getting Started

  1. Install the plugin (or build from source) and launch OBS.
  2. Open View → Docks → Fly Scoreboard.
  3. The plugin ensures overlay/ exists and configures a Browser Source automatically.
Windows (build quickstart)
cmake -S . -B build -G "Visual Studio 17 2022" -A x64 -DENABLE_FRONTEND_API=ON -DENABLE_QT=ON -DCMAKE_COMPILE_WARNING_AS_ERROR=OFF
cmake --build build --config Release
cmake --install build --config Release --prefix "E:\obs-studio"

🧠 Usage

  • Timer: type mm:ss, choose countdown or countup, then start/pause/reset.
  • Scoreboard: adjust scores and total wins; toggle Swap and Show.
  • Teams: set Title/Subtitle and upload logos (hashed filenames avoid cache issues).
  • Apply saves to overlay/plugin.json; Refresh busts the Browser Source cache.

⌨️ Hotkeys

Bind keys in OBS → Settings → Hotkeys under “Fly Scoreboard:”

  • Home/Guests Score +1 / −1
  • Home/Guests Wins +1 / −1
  • Swap Home ↔ Guests
  • Show/Hide Scoreboard

Hotkeys are stored per OBS profile; the plugin restores bindings on load.

⚙️ Settings

  • Server status + port control; restart server if port changes.
  • Open overlay folder shortcut.
  • Built-in hotkeys help dialog.

🌐 Overlay

Browser Source URL:

http://127.0.0.1:<port>/overlay/index.html

State file (updated by the dock):

<config_path>/overlay/plugin.json

🧯 Troubleshooting

  • Overlay not showing? Ensure OBS Browser plugin is enabled; hit Refresh Overlay in the dock.
  • Titles revert? Make sure the field loses focus (press Enter or click outside) before switching scenes.
  • Logos stale? Hashing prevents cache, but if you replace files manually, use Refresh Overlay.

🧰 Development

  • OBS SDK + Qt
  • CMake-based build; Windows uses Visual Studio 2022.
  • Code modules: Dock UI, State, Web Server, Browser Source manager, Hotkeys, Settings dialog.

❓ FAQ

Can I re-skin the overlay? Yes customize your own overlay/index.html while consuming plugin.json.