Beat Saber Overlay
Beat Saber stream overlay, originally based on the overlay by iza_k but rewritten in Deno TypeScript. Requires BeatSaberPlus
Preview
Setup
- Clone the repo
- Configure
overlay.toml - Install Deno (
winget install Denoland.Deno) - Maybe run
deno task build - Run
deno task serve - In OBS add a Browser source and set the url to the served address (
http://127.0.0.1:8080/index.html)
Configuration
Configuration is overlay.toml in the repo root (copy from overlay.toml.example; the real file is gitignored). It can set:
chat_request_database— absolute path to Beat Saber PlusChatRequest/Database.json. The server serves that file asChatRequest.jsonover HTTP (no symlink).beatleader_player_id— default BeatLeader id for friend scores (the server logs a warning if this is missing).- Overlay UI defaults — optional toggles and layout matching the settings dialog:
cover,map_info,time,score,friends,friend_mode(mutual|following|followers),bsr,right,bottom,scale,fade.
Mutual friend mode shows scores from players that you follow and that follow you back on Beatleader. Or in other words, users that are in both your following and follower list.
Usage
Clone the repo and run deno task serve as above.
Development tasks
deno task build- bundle/checksrc/client/index.tsfor browser output (index.js)deno task serve- build, then serveindex.htmland JSON filesdeno task dev- watch and rebuildindex.jswhen client TS changes
Testing in a browser
Click anywhere on the page (outside the settings dialog) to toggle preview mode. The song overlay appears with the built-in placeholder labels so you can check layout, toggles, scale, and fade without a game connection.
Description
Languages
TypeScript
54%
JavaScript
33.7%
CSS
7.6%
HTML
4.7%
