Esports Automation v5.0 Release

OBS: Project MB (v5)

Comprehensive setup guide and technical reference for Project MB: Valorant Scoreboard 2026.

About Project MB

Project MB is an open-source data tool designed to bridge the gap between grassroots community esports and high-tier professional broadcasts. By connecting live OBS graphic overlays to an external Google Sheets control panel, a broadcast producer can seamlessly update scoreboards, rosters, and stats in real-time.

Riot Games Legal Disclaimer: Project MB was created under Riot Games' "Legal Jibber Jabber" policy using assets owned by Riot Games. Riot Games does not endorse or sponsor this project. All custom files not owned by Riot Games are open source and free to adapt for other purposes.

How do Project MB scoreboards work?

Capturing the Scoreboard

Project MB captures the in-game Valorant scoreboard with gameplay elements dynamically removed. This requires a secondary computer on the lobby referred to as the "Void PC".

When loading into the match on the Void PC, the observer enters free cam mode (pressing V) and flies straight downward outside the map skybox. This results in a clean, solid black screen where no map geometry, abilities, or player highlights interfere with the scoreboard screen capture.

Technical Background

The screen capture of the Valorant scoreboard, timer, team scores, and agent info is piped to OBS. Using the OBS Source Clone plugin, we create clones of this single capture source. By applying precise cropping parameters and custom filters to each clone, the system isolates individual assets (like individual agent portraits, team numbers, and round indicators) and integrates them into custom designed overlay graphics.

Installation & Prerequisites

Ensure your production environment meets the following requirements before executing the tool:

Environment Requirements

Font Installation

Crucial Step: Locate Tungsten-Bold.ttf in the PMB Graphics assets folder and install it on your PC before launching OBS Studio so text layers map correctly.

Google Sheets API Configuration

To control the overlay elements from Google Sheets, you must generate access credentials:

Step 1: Google Sheet Preparation

Access the default Project MB Production Sheet. Navigate to File > Make a copy (ensuring you select scripts to preserve reset button macros). Under the Share options, set the document link to "Anyone with the link can view".

Step 2: Google API Key Creation

  1. Go to the Google Cloud Developer Console.
  2. Create a new project (e.g., Project MB Production) and configure the OAuth consent screen. You can skip the deployment registration as it remains local.
  3. Select Credentials in the left sidebar, click + Create Credentials, and select API Key. Copy the key.

Step 3: Importer Tool Configuration

Open the extracted Google Sheets Importer directory, run install.bat, and open the config-dist.json file in a text editor to update these values:

{
  "spreadsheetId": "YOUR_SPREADSHEET_ID_FROM_URL",
  "tableName": "Interface",
  "range": "C2:D",
  "apiKey": "YOUR_GOOGLE_CLOUD_API_KEY",
  "obsAddress": "ws://localhost:4455",
  "obsPassword": "YOUR_OBS_WEBSOCKET_PASSWORD"
}

Save this configuration file as config.json.

OBS WebSocket Setup

Inside OBS Studio, select Tools > WebSocket Server Settings. Check Enable WebSocket Server, verify the port matches your config.json (default 4455), and save settings.

Launch the integration by double-clicking start.bat in the importer directory. The command prompt should launch and confirm: "Connected to OBS".

Default Scene Collection

The standard scene package includes presets optimized for match workflows:

  • Tutorial Scene: Used to verify text binding and script triggers.
  • Intermissions: Stream start, countdown breaks, stream end, and technical timeout screens.
  • Desk & Guests: Split-layouts with custom borders for talent panels.
  • Map Bans: Dynamic selectors that toggle status indicators for maps.
  • Agent Select: Highlighting agent picks utilizing Magnum video loops.
  • Valorant Overlay: Clean top overlays (Top Complex, Top Simple, or Top Hybrid formats) featuring the live crop-filtered scoreboard.
Live Tournament Broadcast Active Production

OBS: CCS Production

Production documentation and setup instructions for the Classic Championship Series (CCS) League of Legends broadcast package.

Introduction

This stream package was created to run the tournament broadcasts of the Classic Championship Series. It automates much of the overlay controls using Google Sheets integration, ensuring that graphics update instantly on-air when modified inside the production spreadsheet.

Package Credits: Assembled and wired by MisterBantastic (Matthew Boyle), with original visual designs and graphics created by Goldyn.

Download Options

Producers and observers have two methods for deploying this package. Option 1 installs the assets, scene collections, and tools on an existing OBS environment. Option 2 uses a pre-bundled portable OBS instance containing all plugins preset.

Option 1: Download & Install Manually

For custom OBS instances, download the required plugins, fonts, and scripts to initialize the layout:

Required OBS Plugins

Required Fonts

Download and install these system fonts before opening OBS Studio. If installed while OBS is open, restart the application to link them:

  • GoBold - Primary typography.
  • Edo - Secondary accent typography.

Option 2: Portable OBS (WIP)

This option downloads a self-contained, standalone OBS directory configured with pre-installed plugins, scene profile assets, and structural scripts. Perfect for quick deployment on new production PCs.

Portable Package Includes: Portable OBS binaries, Sheet Importer client folders (CCS1 & CCS2 configurations), the Apollo overlay JSON template, system fonts (Edo, GoBold), and broadcast background music.

Google Sheets Importer Tool

To establish a data connection between your Google Sheets dashboard and the OBS overlay elements, we use a custom Node.js bridge. Both the Observer and Producer PCs must run this tool simultaneously to trigger updates.

Installation Requirements

  1. Download and install Node.js on your machine.
  2. Extract the Google Sheets Importer folder.
  3. Open your terminal, navigate to the folder, and run npm install (or launch the provided install.bat script) to install configuration dependencies.

Troubleshooting: If the connection fails, verify that your Google Sheet has share permissions set to "Anyone with the link can view" and that the websocket credentials in your config.json match your OBS WebSocket settings.

Producer Checklist

Ensure these final steps are completed before heading live:

  • Double check that the Sheets Importer tool displays a green "Connected to OBS" confirmation in the terminal console.
  • Verify the Apollo JSON overlays align properly in your OBS workspace.
  • Confirm broadcast background music paths match the relative file paths in your OBS media sources.
  • Integrate the custom Interview Mask overlay to frame live talent cams cleanly.