MLB ScoreBug for OBS: the pitch-by-pitch setup guide
Updated August 21, 2026 · 11 min read · Works with OBS, Streamlabs, Meld & evmux
If you stream baseball — watch-alongs, postgame shows, fantasy breakdowns — the single biggest production upgrade you can make is a live pitch-by-pitch scorebug. This guide sets up the StreamSlayers MLB ScoreBug in OBS: score, inning, the live ball–strike count, outs and base runners, plus the current pitcher and batter with a rotating carousel of their game and season numbers — all driven by live pitch-by-pitch data, hands-free, for the whole game.
The app is really four overlays sharing one settings page and one game selection: the scorebug strip, a full box score, and separate away and home lineup cards. Each has its own browser-source URL, so you can keep the strip up all game and bring the others in for a pregame or between-innings segment.
The video above walks the app on camera — note that it predates the current settings layout, so treat the steps below (11 themes, the Pitch Bug, the at-bat stat card, MiLB games) as the current reference.
What you'll need
- OBS Studio, Streamlabs, Meld, evmux or XSplit — anything with a browser source
- A StreamSlayers plan with MLB ScoreBug — view plans
- Optional: a Stream Deck for on-air toggles (plugin v1.18.0)
Launch MLB ScoreBug from your dashboard
Sign in and click LAUNCH on the MLB ScoreBug tile. The page that opens is a two-column board: overlay URLs and the games list on the left, every display setting on the right.
Pick tonight's game (MLB or MiLB)
Set the date at the top of the Games card and click your matchup. Live games show their running score and inning in the list; finals show the result; upcoming games show first pitch. The overlay then drives itself — it stays quiet until the game starts, polls while it's live, and stops at the final out.
Two buttons above the list switch the whole slate between MLB and MiLB. Pick MiLB and a row of level checkboxes appears — Triple-A, Double-A, High-A and Single-A. Tick as many as you like (Triple-A is the default, and the app will never let you untick all four). Minor-league clubs resolve their logos, colors and names by team ID rather than abbreviation, which is why a Colorado Springs or a Columbia never comes up wearing Rockies colors.
If you're running a whole-league watch party rather than one game, turn on Scroll through games. The bug then auto-rotates the entire day's slate — live games first, then upcoming, then finals — at a Seconds per game pace you set between 4 and 20 (8 is the default). Your single-game pick is remembered and used again the moment you switch scrolling off.
Copy the overlay URLs you need
The Overlay URLs card at the top left holds four separate URLs, each with its own COPY button. Each one is meant to be its own browser source:
- ScoreBug — the pitch-by-pitch strip you'll keep on screen all game.
- Box Score — full batting and pitching tables, the line score, team RISP and decisions. It has a tutorial of its own.
- Lineup (Away) and Lineup (Home) — the two starting-lineup cards, sized and positioned independently so they can sit side by side for a pregame two-shot.
Add the browser sources in OBS
- Sources → + → Browser, name it "MLB ScoreBug".
- Paste the ScoreBug URL.
- Set the size to 1280 × 720 — the size the settings page recommends — and click OK.
Repeat for the box score and the two lineup URLs. Scenes are the easy way to organize them: a Pregame scene carrying both lineup cards, a Live scene carrying just the strip. Two things want a bigger source: the box score's Fullscreen option, which scales the box to fit the browser source (contain, centered), and the full-frame Marquee stat card, which is drawn at a full 1920×1080 of its own. If you plan to run either edge to edge, build those sources at 1920 × 1080 and leave them unscaled in OBS.
You only do this once. From here on, every change you make on the settings page reaches the overlay instantly over a live connection — no refreshing the browser source, no touching OBS again mid-show.
Choose a theme
The Theme dropdown under Display Settings carries 11 looks. Five are full-width bug families, each with a matching stacked Compact version for tight layouts: Standard (the wide broadcast bar with a stats lip underneath), Classic, Industrial, Retro and HUD (Futuristic). The eleventh, Pitch Bug, is its own thing and gets the next step.
Every family shows the same live core — score, inning and half-inning arrow, balls, strikes, outs, the base diamond, and the pitcher and batter with a stat carousel underneath. That carousel advances on its own 8-second timer and rotates through what it has: for the hitter, today's line, then his season AVG/OBP/OPS, then his power line; for the pitcher, his line today, his pitch count and strike-ball split, then season ERA/W-L/WHIP and K/9 — and for both, the live win probability. It deliberately doesn't snap back to slide one on every poll, so it never looks like it's stuttering. What changes between families is the chrome: Standard is a clean network bar, Classic is the traditional squared-off look, Industrial and Retro are heavier and more graphic, HUD is the futuristic one.
Run the Pitch Bug — the compact strip with the stats lip
Pick Pitch Bug from the theme dropdown and the bug becomes a 570 × 64 strip — small enough to tuck into a corner over gameplay instead of spanning the bottom of the frame. Each club gets its own panel, colored from its real primary, with the crest, the score and its record.
The bottom half of the strip is the part that earns its keep. The fielding side's row shows the pitcher — and the instant a pitch lands it flips to that pitch's type and velocity in MPH for about seven seconds before settling back to his name. The batting side's row shows the hitter with his spot in the order in front of his name, the way a broadcast writes it. Before first pitch those rows carry the probable starters instead; after the final they carry the winning and losing pitchers. During a live game each team panel also carries pips for the ABS challenges that club has left.
Under the strip sits the optional stats lip — a 28px second bar that 3D-flips through a rotation of the batter's day and season line, the pitcher's day and season line, the full line score, the exit velocity on the last ball in play, the due-up hitters, win probability and the venue. Uncheck Show stats lip if you want the bare 64px strip and nothing else.
Below the theme picker, Pitch Bug Colors gives you five overrides — Frame, Pitch Panel, Text, Stats Lip and Lip Text. Each sits on Auto (the signature broadcast look) until you set it, and an Auto button next to any swatch puts it back. The two team panels are deliberately not on that list: they always wear each club's real colors, so a brand tint you apply to the chrome never makes a matchup unreadable.
Add the At-Bat Stat Card
Open the At-Bat Stat Card section and flip Show Stat Card on. It's a second graphic for whoever is currently in the box, and it changes hitters by itself as the inning goes. It carries its own anchor, scale and offsets, so it can sit right across the screen from the bug rather than crowding it — and because it reads from the game data the bug is already polling, it costs you nothing extra.
Design starts on Match my theme (auto), which wears a slab cut to the bug's chrome. The fixed designs are grouped: three slabs (Pitch Slab, Elegant Slab, Broadcast Slab), the Duel Chip which puts batter and pitcher either side of the count, two lower thirds (Slugger Plate and Heater Rail), and the full-frame Marquee for a between-innings hit.
Three controls decide how it behaves. Who The Card Is About — Batter, Pitcher or Matchup (Matchup draws both men on one card, which reads steadier over a bug that is already rotating stats). When It Shows — Always keeps it up for the whole live game, Auto pops it when a new man steps in and pulls it after an Auto-Hide After interval you set from 4 to 30 seconds, and Manual means only your Stream Deck or Command Center toggle moves it. Then Stats On The Card switches the three rails independently: today's line, season stats, and the batter's career line against tonight's pitcher.
Two finishing touches: Show player photo can be turned off entirely (the card reflows and the numbers grow into the space), and on the designs built for it, Photo Style switches between the cut-out Headshot and the full-body Action pose — not every player has an action shot, so it falls back to the headshot on its own.
Position everything, then sync to your stream delay
Layout lives in collapsible sections so each overlay is tuned separately. Score Bug · Size & Position has a 9-way anchor grid, a Scale slider from 0.4× to 2.0×, and X/Y offsets to nudge it off that anchor. Away Lineup and Home Lineup each get their own scale and offsets — that's how you get the two cards to frame a pregame shot cleanly. Opacity (20–100%) applies to the bug only, so the box score and lineups stay solid and readable. Click any slider's value to type an exact number.
Refresh Rate is a dropdown, not a slider, and the choices are 3, 5, 10, 15, 30 and 60 seconds (10 is the default). The bug is smart about it either way: before first pitch it sleeps until roughly three minutes out rather than hammering the feed all afternoon, it polls at your rate only while the game is live, and it stops entirely once the game goes final.
Last and most important for baseball: Stream Delay. The biggest spoiler risk in the sport is an overlay running ahead of your video — a strikeout appearing on the bug before the pitch shows on screen. Set the slider (0–180 seconds) to match your broadcast delay and every update waits that long before it lands — the very first load still draws immediately, so a fresh browser source is never blank for two minutes. And under Transitions you can pick how the bug enters and leaves, in and out set separately: Fade, the four Slides, Zoom, Flip, Bounce, Blur Fade, Wide Left, Wide Right, Center Expand, or Instant.
Drive the show from Command Center or a Stream Deck
The Overlay Visibility panel at the bottom of the settings page has a switch for each of the five graphics — Score Bug, Box Score, Away Lineup, Home Lineup and Stat Card — but you don't want to be on the settings page during a show.
The same five toggles live on the MLB ScoreBug card in the Command Center, and as Stream Deck keys: drop the away lineup on air for the top of the first, pull it, cut the box score in between innings, flip its Page: Hitters / Page: Pitchers mid-segment, punch the stat card up on a big at-bat. The Command Center card carries two extras the settings page doesn't: a Theme key that cycles the bug's look without leaving the board, and a Layout key that swaps the box score between the full box and the scoreboard-plus-stats design. Whichever surface you use, the settings page updates to match — press a Stream Deck key and the switch on screen moves with it.
If you also run the multi-sport Broadcast Ticker under the bug, the two sit together well — the ticker along the bottom, the Pitch Bug in a top corner.
Troubleshooting
Blank source in OBS. Almost always a stale URL in the browser source — re-copy it from the Overlay URLs card. Check a game is actually selected too, and that Score Bug is switched on under Overlay Visibility (a Stream Deck press in a previous show can have left it off).
The bug says it's waiting before the game. That's smart polling doing its job — it holds off until shortly before first pitch and then wakes on its own. Nothing to fix.
The bug is ahead of my video. Your stream delay isn't matched. Set Stream Delay to your broadcast delay in seconds — the first load still applies immediately, but everything after it waits.
The stat card never appears. It only draws for live games with someone actually at the plate. Check When It Shows isn't on Manual when nothing is toggling it, and note that a photo-built design with Show player photo off falls back to the theme-matched slab rather than drawing a card with a hole in it.
A minor-league team has the wrong colors or crest. Make sure the Games panel is set to MiLB rather than MLB — minor-league abbreviations collide with major-league ones, and the app only resolves them correctly when it knows which league it's looking at.
FREQUENTLY ASKED QUESTIONS
What does the MLB ScoreBug show during a game?
Score, inning and half-inning, the live ball-strike count, outs, base runners, and the current pitcher and batter with a rotating carousel of their season numbers — all updating from live pitch-by-pitch data. The Pitch Bug theme adds the last pitch's type and velocity, the hitter's spot in the batting order, and pips for the ABS challenges each club has left.
What is the Pitch Bug theme?
A compact 570x64 broadcast strip with per-team colour panels and a readout row that flashes each pitch's type and MPH the moment it lands. Under it sits an optional 28px stats lip that 3D-flips through the batter's and pitcher's day and season lines, the line score, Statcast, due-up hitters, win probability and the venue. Five colour overrides recolour its chrome; the team panels always keep each club's real colours.
What are the four overlay URLs for?
The app gives you separate browser-source URLs for the scorebug strip, the full box score, and the away and home starting-lineup cards. Each is its own OBS source driven by the one game you picked, so you can keep the strip up all game and bring lineups or the box score in for pregame and between-innings segments.
Can I put minor league games on the scorebug?
Yes. Two buttons above the games list switch the whole slate between MLB and MiLB, and picking MiLB reveals level checkboxes for Triple-A, Double-A, High-A and Single-A. Minor-league clubs resolve their logos, colours and names by team ID rather than abbreviation, so teams whose abbreviations collide with big-league ones still render correctly.
Can I sync the overlay to my stream delay?
Yes. The Stream Delay slider runs from 0 to 180 seconds — match it to your broadcast delay and every update waits that long before it lands, so the bug never shows a strikeout before your viewers see the pitch.
READY TO PUT MLB SCOREBUG ON YOUR STREAM?
Choose a paid plan · no contracts · cancel anytime