OnTogetherSchoolScreen
Watch YouTube on the school whiteboard with hostless shared playback, queueing, skip voting, optional host controls, and local distance-based volume.
By The_Guy
| Date uploaded | 2 weeks ago |
| Version | 0.1.8 |
| Download link | The_Guy-OnTogetherSchoolScreen-0.1.8.zip |
| Downloads | 12 |
| Dependency string | The_Guy-OnTogetherSchoolScreen-0.1.8 |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2305README
On-Together School Screen
Windows mod that plays shared YouTube videos on the whiteboard inside the school building.
Features
- Finds the school's
DrawingBoardand displays a local Chromium-based Microsoft Edge WebView2 player on it. - Lets any player with the mod start a video, add videos to the shared queue, and play queued videos. The game host does not need the mod.
- Sends playback and queue updates through the school's networked whiteboard RPC. It does not send synchronization text through chat.
- Displays the playing video's title in the panel and resolves queue entries to video titles.
- Lets modded players vote to skip; the vote passes at 30% of active modded players, rounded up with at least one yes vote. The game host can skip immediately if they have the mod.
- Gives a modded game host an Access tab to block specific players from adding videos to the queue.
- Clears playback, queue, votes, and queue blocks when the lobby changes.
- Keeps the hidden browser helper out of Alt+Tab while it renders the whiteboard video.
- Gives each player an independent volume control with distance falloff, a 0–200% distance-compensation slider, a live meter, and mute.
- Loads video and audio locally for each player; video frames are not sent over the game network.
- Targets a 30 FPS whiteboard refresh while the game can keep up.
Install
- Close On-Together before replacing the mod files.
- Install BepInEx for On-Together and the Microsoft Edge WebView2 Runtime.
- Extract this package into
BepInEx/plugins/OnTogetherSchoolScreen/, keepingOnTogetherSchoolScreen.dll,SchoolScreenBrowser.exe,www, andruntimestogether. When updating, overwrite the existing mod files; do not install a second copy alongside them. - Everyone who wants to watch together should install version 0.1.8 and enter the school. Press
F9to open the controls. The host does not need the mod for playback, queueing, or skip voting. Add from the Screen tab to play when the board is empty or to queue while a video is loaded. The Queue tab also lets anyone add a video or play a queued item.
Host and queue moderation
When the game host has the mod, they can skip immediately, remove queue entries, and block players from adding videos in the Access tab. When the host does not have the mod, modded players coordinate playback, queue updates, and skip votes among themselves. In that case there is no host-side block list, so modded players can add or play videos freely and may spam the queue.
Volume behavior
Each player's volume is local. It is full near the board, falls with distance, and reaches silence 18 Unity units from the board. The 0–200% control compensates for that falloff; YouTube's embedded player accepts volume only from 0 to 100, so the extra range lets a player farther away raise quiet playback back up to the player's normal maximum. It does not amplify beyond YouTube's 100% level. The volume setting is not saved between game sessions.
The cutoff is based on distance from the board rather than the school's room boundary, so a player just outside a wall may still hear it if they are within range.
Limits
- Everyone watching together should use version 0.1.8. Older versions do not understand the current shared queue and playback packets.
- The mod and browser helper target Windows only. Each player needs WebView2 Runtime installed.
- The local WebView2 player targets up to 30 board-image updates per second. Actual smoothness depends on game performance and WebView2 capture speed.
- YouTube must allow the video to be embedded. Some private, age-restricted, or region-restricted videos may not play.
The game and its assets are not included. WebView2 is provided by Microsoft and is not bundled with this mod.
CHANGELOG
Changelog
0.1.12
- Add the purple Library menu with Now playing, Lobby queue, Playlists, and Access navigation, a live board preview, and volume controls on every tab.
- Start the mod-manager description with “Press F9 to open the menu.”
- Add private saved playlists with local storage, direct saved-track queueing, selection, collection covers, and Undo for playlist changes.
- Add coordinator-enforced queue limits: three pending videos per person and a ten-second addition cooldown by default, configurable by a modded game host.
- Confirm queue submissions before clearing entered links, retain rejected inputs, stage ownership snapshots, and support bounded selected-track additions with one cooldown.
- Add queue cards with thumbnails, video titles, available duration, and player attribution.
- Add a brief visual celebration when the idle DVD logo hits a corner.
0.1.11
- Wait for a spawned board with a network identity and initialized paint data; skip visible scene placeholders, release despawned board references, and retain submitted links while the board is connecting. Prevent unsynchronized local playback when a send fails.
- Route every presence, queue, vote, and playback packet through the same eraser envelope; fix two outgoing paths that bypassed it in the earlier 0.1.11 package.
- Confine the vanilla drawing side effect to one top-right corner cell, validate packet fields, and intercept commands only on the school board.
- Prefer a modded game host as the single playback coordinator; otherwise retain one modded coordinator until they leave. Viewers cannot replace playback or queue snapshots arbitrarily.
- Transfer the modded roster and existing skip votes to late joiners, restore returning players before assigning coordination, reevaluate votes when players expire, and clear lobby state when the game explicitly reports a disconnect.
- Add mixed-lobby simulations using extracted, unchanged product method bodies and compiled-DLL checks for every outgoing whiteboard RPC and its game signature.
- Add a bouncing, color-changing DVD-style logo behind the waiting screen's F9 prompt. It stops while a video plays and respects reduced-motion preferences.
- Remove all player-discovery calls and Harmony hooks involving the game's report-player system, preventing synthetic kick dialogs on hosts without the mod.
- Discover modded players through whiteboard presence packets and use the RPC's original sender identity for player names and host queue permissions.
- Send the host's existing queue to newly discovered peers, retire old tokens from the same player, and remove expired members from the Access tab.
- Encode whiteboard packets as a small eraser dab without stroke interpolation so players without the mod do not interpret packed video data as an invalid paint color. This can clear a small corner of their whiteboard; all viewers should update for the changed encoding.
- Add a compiled-plugin regression check that detects the unsafe transport in 0.1.10 and rejects any recurrence.
- Document how hosts can dismiss an existing backlog without closing their lobby.
0.1.10
- Put the mod payload inside
BepInEx/pluginsso mod managers preserve thewww/index.htmlpath and keep the browser helper beside its dependencies. - Package one x64
WebView2Loader.dllbeside the browser executable, removing the duplicate native loader and unused WPF assembly. - Report a missing player page or failed page navigation instead of silently rendering a blank board.
- Add a reproducible package builder and automated installer and browser startup checks.
- Keep the playback and queue protocol from 0.1.9.
0.1.9
- Automatically advance to the next video when playback finishes, using one playback coordinator.
- Add videos in queue order, including when starting an idle board. Anyone can use Play Next to resume an idle queue.
- Reserve selecting a specific queued video, stopping, and seeking for the game host. Viewers can add videos and vote to skip.
- Ignore relayed command echoes and stale browser end reports so they cannot advance the queue twice.
- Keep automatic playback and skip voting available when the game host does not have the mod.
0.1.8
- Let modded players start videos, add to the shared queue, and play queued videos without requiring the game host to have the mod.
- Share queue state and skip votes through whiteboard RPCs, without chat messages.
- Keep host skip, queue removal, and queue blocking controls when the host has the mod installed.