You are viewing a potentially older version of this package. View all versions.
The_Guy-OnTogetherSchoolScreen-0.1.11 icon

OnTogetherSchoolScreen

Watch YouTube on the school whiteboard with hostless shared playback, queueing, skip voting, optional host controls, and local distance-based volume.

Date uploaded 2 weeks ago
Version 0.1.11
Download link The_Guy-OnTogetherSchoolScreen-0.1.11.zip
Downloads 26
Dependency string The_Guy-OnTogetherSchoolScreen-0.1.11

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2305 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2305

README

On-Together School Screen

Press F9 to open the menu.

Windows mod that plays shared YouTube videos on the whiteboard inside the school building.

Features

  • Finds the school's DrawingBoard and displays a local Chromium-based Microsoft Edge WebView2 player on it.
  • Lets any player with the mod add videos and start the queue when the board is idle. The game host does not need the mod.
  • Automatically plays the next queued video when the current video finishes, in queue order.
  • 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.
  • Shows a color-changing, bouncing DVD-style logo behind the F9 prompt while the board is waiting for a video.

Install

Download the ZIP from GitHub Releases.

Mod manager

Install through Thunderstore Mod Manager or r2modman. For a local ZIP, use the manager's Import local mod option and choose the package. The manager installs the mod files together under its profile's BepInEx/plugins folder.

Manual installation

  1. Close On-Together before replacing the mod files.
  2. Install BepInEx for On-Together and the Microsoft Edge WebView2 Runtime.
  3. Extract the ZIP and copy its BepInEx folder into the game folder or the manager's profile folder. The package places the plugin, browser helper, WebView2 DLLs, and www folder together inside BepInEx/plugins. For manual updates, replace your previous School Screen installation with these files so only one copy of the plugin is loaded. The www folder must stay beside SchoolScreenBrowser.exe.
  4. Everyone who wants to watch together should install version 0.1.11 and enter the school. Press F9 to open the controls. The host does not need the mod for playback, queueing, or skip voting. Adding a video starts playback when the board and queue are empty; otherwise it adds to the end of the queue. Videos advance automatically when they finish. If the board is stopped with videos still queued, anyone can press Play Next in the Queue tab to start the first entry.

Updating from an older version

The GitHub 0.1.11 ZIP was refreshed with the DVD-style waiting screen and mixed-lobby compatibility fixes. If you downloaded an earlier 0.1.11 ZIP, download it again and replace the previous installation; its version number is still 0.1.11. Everyone using School Screen in the lobby should use the refreshed package.

Version 0.1.11 removes a player-discovery message that older versions sent through the game's report-player system. That message could repeatedly open a Kick Player? dialog on a host without the mod. All School Screen users in the lobby should update to 0.1.11; an older client can still cause these dialogs.

If a host already has these dialogs, everyone using an older version should leave the lobby to stop new requests. The host can repeatedly click No until the queued dialogs are dismissed, keeping the lobby open. An updated client cannot clear dialogs already stored on the host's computer. Avoid clicking Yes, which changes the host's ban list.

Host and queue moderation

Videos play in queue order. Viewers can add videos, pause or resume playback, and vote to skip. They cannot choose a later queue entry, stop the board, or seek past a video.

When the game host has the mod, they can skip immediately, choose a specific queued video, stop or seek playback, remove queue entries, and block players from adding videos in the Access tab. When the host does not have the mod, one modded player coordinates automatic playback, queue updates, and skip votes. Coordination transfers if that player leaves. In that case there is no host-side block list; viewers still use queue order and skip voting. Joining viewers receive the current video, queue, modded-player roster, and existing votes. Players without the mod are excluded from skip-vote counts.

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 0.1.11. It updates the whiteboard packet encoding for compatibility with players without the mod, and older clients can still send the faulty player-discovery requests.
  • Players without the mod still process each message as a small eraser dab, clearing one drawing cell at the school whiteboard's top-right corner. They do not see or hear the mod's videos.
  • 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/plugins so mod managers preserve the www/index.html path and keep the browser helper beside its dependencies.
  • Package one x64 WebView2Loader.dll beside 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.