


Early Access QoL toolkit for On-Together: Virtual Co-Working.
Current package: v0.1.8 Early Access
This is for players and hosts who want friendly quality-of-life helpers in one mod. It is not the big-lobby mod. For rooms beyond the vanilla cap, the host still needs BlueSagePatched PlayerLimitLift.
Early Access note: this mod is still moving quickly while players test it, but it is meant to be friendly to normal players. If something feels noisy, open /qolmenu, turn off that one feature, and let Blue know what happened.
Community links:
Support Blue's community modding work:
Home or type /qolmenu for toggles, safe Customize fields, quick actions, themes, local status checks, and max-safe on-screen fitting.Insert or type /styleui to manage name colors, preserved TMP rich-text tags, status tags, templates, custom Spoons/mood labels, Detect Current, copyable style text, and bounded undo/redo/reset.EXPERIMENTAL - Avatar Presets 4-9 toggle. Existing/default vanilla slots 1-3 stay untouched and game-owned; added slots 4-9 are stored separately by BlueSage and apply through the normal game customization path./chalksave name; only the host can /chalkload name into the shared lobby through the native board sync path. BlueSage stands down automatically when Andrew's Chalky is installed.25-100, normal/black outline colors, and BlackNamesOutline for true-black styled names/messages./chatscale scales the whole chat UI, /chatfont enlarges text only, /chatheight adds vertical space, and /chatrows 25-250 selects retained scrollback with a performance-safe 100 default.0.1.8 styles newly appended rows instead of repeatedly walking and dirtying the whole chat tree; the backdrop follows the current scroll viewport without blocking native scrolling.3000 characters.0.1.8 so shared logs retain consistent troubleshooting breadcrumbs. /bluedevdebug off explains the lock instead of pretending to disable it; credentials, tokens, and research-only captures are not logged.Install it, launch the game, then try these:
Home or type /qolmenu to open the friendly settings menu.Insert or type /styleui for Name Styler, Status Styler, Spoons, themes, and copyable styled text.Home, Insert, /qol status, /brb, /afk, /back, and slash-command typeahead.@name in chat to get mention suggestions, then press Tab or click a suggestion.Shift-click once to copy/warn, then Shift-click again to open.Shift to run or Ctrl to slow-walk with BetterMove./as now if a long session feels heavy./qol status or the menu's Run QoL Status button to see what is enabled. Hosts can still use /hh run for a quiet lobby-health check.1-9.1-3 retain the game's original behavior, existing saved designs, and default templates when unused.4-9 are additive QoL presets. Their names and complete appearance/outfit selections are saved separately in com.bluesage.ontogether.qol-avatar-styles.cfg.EXPERIMENTAL - Avatar Presets 4-9 toggle is default-off for public feedback. Turning it off saves the active QoL preset, restores vanilla selection/UI immediately, and retains slots 4-9 for later re-enabling.1-3; it does not delete or rewrite those native presets.250 to 3000 characters.3000 characters. ID-card details include the bottom About Me/FavoriteQuote section.4000 in /qolmenu, but very long text can still wrap or look odd in some game UI.75 and can be tuned from 25 to 100.100, can be tuned from 75 to 200, and scales the chat panel, input box, backdrop, text, and outlines together.100, can be tuned from 75 to 200, and enlarges local chat message text without scaling the whole chat shell.100, can be tuned from 100 to 200, and adds vertical room for chat without changing text size.100 rows and can be tuned from 25 to 250 with /chatrows, its aliases, or Customize. BlueSage never lowers a higher vanilla or other-mod result./chatvanilla does the same reset for whole chat UI scale, chat font size, and chat window height.Type @partialname to show a small suggestion popup.
Pinged messages get a visible [PING] marker.
@lobby mass alerts are accepted only from the authoritative current lobby host or a helper the host delegated by Steam identity. Unauthorized @lobby text remains ordinary chat with no mass sound/highlight.
Hosts can use /lobbyhelper add <current player name or Steam ID>, /lobbyhelper remove <player>, /lobbyhelper list, and /lobbyhelper reset. Only stable Steam IDs are persisted; styled display names are never authorization data.
Delegates are scoped to the Steam ID of the host who granted them, so authorization cannot carry into an unrelated host's lobby.
Sound is on by default and uses ticket by default. Sound modes: click, change, error, task, ticket.
Mention suggestions and highlights resolve the player's current display name, including status and Spoons tags, then highlight that full mention once so suffixes do not duplicate inside pinged messages.
Helpful commands:
/setpingcolor FF66CC/pingsound ticket/pingsound off/styleui opens a friendly window for:
(Reading), and reusable name templates;Detect Current, Apply Name Styler, Copy Name Style Text, and local-only Clear Draft;Undo to back out of the last apply, clear, template save/load, or local style edit;0-5, show the compact [1/5sp] tag, hide it, or undo the last Spoons edit;/setmood energy changes the compact label, /setmood reset restores sp, and /spoons reset restores the shipped hidden [5/5sp] default;Clear Status removes the live status; Clear Draft only clears the editor box.It uses safe in-game player data updates and never writes profile files directly.
Open it with Home, /qolmenu, or /qm.
The QoL Menu and Style Helper open at the largest safe size that fits your current game resolution while leaving a small slice of the game/chat area visible. If you want a smaller window, drag the bottom-right ↘ handle; BlueSage will keep the resized window inside the screen.
Tabs:
0.0.8.The remaining gag never edits files or profiles. After one tiny lobby joke, it only shows local messages. Players can screenshot/share finds in Blue's Discord for fun.
@ and ID helper buttons to player rows./minimaplabels or /mml.http, https, and www. links are shown in hyperlink color.Shift while clicking a link once to copy it and show a caution note. Shift-click the same link again within a few seconds to open it./copychat or /ccopy./chatlinks or /clinks./chatreadability or /chatread./chatoutline 25-100 or Customize -> Chat outline intensity. Default 75 keeps chat readable without jumping straight to the thickest outline; 100 is the crispest outline./chatscale 75-200, /chatresize 1.25, or Customize -> Whole chat UI scale. This scales the vanilla chat surface, input, backdrop, text, and outlines together for accessibility on small displays./chatfont on/off/toggle, /chatfont 75-200, /chatfont reset, or Customize -> Chat font size. Use this when you want bigger letters without growing the panel/input/backdrop./chatheight on/off/toggle, /chatheight 100-200, /chatstretch 1.6, or Customize -> Chat window height. This adds taller visible chat space without scaling text.100, clamp to 25-250, and are controlled by /chatrows, /chathistory, /chatr, or Customize. Higher values cost more UI memory/work in busy rooms; higher vanilla/other-mod limits remain untouched./chatvanilla, /chatreset, or Customize -> Reset Chat UI to Vanilla if scaling, font size, or window height leaves chat in a weird place. It restores saved vanilla transforms and sets whole UI scale/font/window values back to 100.::: drag handle on the chat box to realign it./chatoutlinecolor #000000 for the normal outline path and /blackoutlinecolor #FFFFFF for true-black chat/name rows. The same fields are in Customize as Normal outline color and Black text outline color.BlackNamesOutline is on by default so true-black styled names/messages get the light black-text outline color instead of disappearing into black-on-black. Turn it off if you want every row to use the normal outline color./cloneshield, /cloneguard, or the Toggles tab.EXPERIMENTAL — default off. This feature is still being validated across different lobby sizes and avatar hierarchies.
/playersaver statusmust report actual suppressed renderers before treating it as an active optimization.
EXPERIMENTAL — default off. Enable it under Toggles only if Andrew's Chalky is not installed.
Interact with a board, then use /chalksave cozy-board; an optional zero-based board index may follow the name.
The lobby host can use /chalkload cozy-board to restore and synchronize it. Clients cannot overwrite the shared board.
/chalklist shows locally saved names.
Names are restricted to safe letters, numbers, underscores, and hyphens. Saves use validated dimensions/color values, atomic replacement, and a backup of the prior version.
Shared restores have a cooldown to avoid repeated full-board network bursts. Normal drawing and the game's late-join board synchronization remain native.
Off by default and opt-in from the Toggles tab.
Local-only optimization for very large lobbies: hides far/overflow remote player renderers on your PC only.
Chat, player-list rows, IDs, reports, ignores, kicks, bans, and other players' views stay untouched.
Defaults keep remote players within 45m visible and also keep the closest 32 remote players visible.
Tune with Customize -> Render saver radius / max visible, or use /playersaver radius 45, /playersaver max 32, /playersaver status, and /playersaver off.
Turning it off restores all hidden renderers without needing a game restart.
Shift to run.Ctrl to slow-walk with a cozy popsicle-style animation./bettermove or /bm.5 seconds before the first guarded reconnect attempt so the lobby can settle./rg off.30 minutes by default./as now still respects safety guards./qolmenu./qol status or /bsqol status: show current BlueSage states.Home, /qolmenu, or /qm: open the QoL menu.Insert, /styleui, or /sui: open the Style Helper./style or /sty: build styled text from chat commands./setname, /status, /clearstatus, /statuscolor: set your display name/status without editing save files directly./brb or /afk: quick status shortcuts. /back restores the status you had before BRB/AFK, or clears it if there was nothing to restore./spoons on/off/status or /spoons 0-5: show, hide, or set the optional compact display-name tag, like [1/5sp]. Use /spoons off if your name feels too long./assetsweep or /as on/off/status/now: asset sweep controls./hosthealth or /hh on/off/status/run: host-health controls.
Hosts can use /hh run for a quiet lobby-health check./leavenotices or /ln on/off/status: leave notice toggle./timestamps or /tt on/off/12/24/reset/status: chat and notice timestamps; 12-hour mode shows AM/PM and 24-hour mode does not./chatreadability or /chatread on/off/status: local chat text outline/shadow./chatoutline or /outline 25-100/status: adjust local chat outline strength./chatscale or /chatresize 75-200/reset/status: scale the local chat UI for readability./chatfont or /chatfontsize 75-200/reset/status: enlarge chat message text without scaling the whole chat UI. It also accepts on, off, and toggle./chatheight or /chatstretch 100-200/reset/status: expand the chat window vertically without scaling text. It also accepts on, off, and toggle./chatrows, /chathistory, or /chatr 25-250/reset/status: retained Global/Local scrollback; reset restores 100./chatvanilla, /chatreset, or /chatdefault: restore whole chat UI scale, chat font size, and chat window height to vanilla 100./chatoutlinecolor or /outlinecolor #000000/status: normal chat outline color./blackoutlinecolor or /blackoutline #FFFFFF/status: true-black chat/name outline color./bettermove or /bm on/off/status: Shift run and Ctrl slow-walk./reconnectguard or /rg on/off/status: reconnect guard toggle./reconnectmessage or /rm on/off/status: reconnect success message toggle./focusanywhere or /fa on/off/status: focus-anywhere toggle./minimaplabels or /mml on/off/status: minimap dot-to-ID-card helper. No floating labels./playersaver, /rendercull, or /playercull on/off/status: opt-in local remote-player render saver for large lobbies. Use radius 45, max 32, or reset to tune it./copychat or /ccopy on/off/status: click-to-copy chat messages./chatlinks or /clinks on/off/status: safe click-to-open chat links.Using a toggle command without on or off flips the current setting. Timestamps apply to chat plus join/leave/system notices when enabled.
After launching once, settings live here:
BepInEx/config/com.bluesage.ontogether.qoltweaks.beta.cfg
Most players should use Home or /qolmenu instead of editing the file directly.
Useful defaults:
EnableAutoSweep: trueSweepIntervalMinutes: 30EnableHostHealthMonitor: trueEnableLeaveNotifications: trueEnableWelcomeMessage: trueEnableChatTimestamps: trueEnableNotificationTimestamps: trueEnableChatReadability: trueChatOutlineIntensity: 75ChatUiScalePercent: 100ChatFontSizePercent: 100ChatWindowHeightPercent: 100ChatHistoryRows: 100ChatOutlineColor: 000000BlackChatOutlineColor: FFFFFFBlackNamesOutline: trueEnableBetterMove: trueEnableReconnectGuard: trueEnableReconnectAnnouncement: trueEnableFocusAnywhere: trueEnableEnhancedPlayerPanel: trueEnableCloneShield: trueEnablePlayerRenderSaver: falsePlayerRenderSaverRadiusMeters: 45PlayerRenderSaverMaxVisiblePlayers: 32EnablePingMentions: trueEnablePingSound: trueEnableSpoons: false/spoons on, /spoons 0-5, or Style Helper > Show Tag if you want the compact tag back.EnableStyleUi: trueEnableExtendedAvatarStyles: false (orange experimental opt-in for Avatar Presets 4-9)EnableChalkboardPersistence: false (orange experimental opt-in; host-authoritative restore)EnableMiniMapPlayerLabels: true (legacy config name; now controls MiniMap ID Click only)EnableMiniMapFriendColors: true (cached Steam-friend dot coloring; backs off for MinimapFriends)EnableChatCopy: trueEnableChatUrlLinks: trueEnableHiddenDiagnostics: true (locked on for public 0.1.8; old false configs are normalized on)UiThemePreset: Midnight DockMaxChatCharacters: 3000MaxProfileCharacters: 3000MaxSessionNameCharacters: 3000Old beta config files may still contain removed settings. BlueSage ignores old removed settings now. If something acts odd after updating, delete the config and launch once to regenerate it.
.old, .bak, .disabled, or .dll.disabled files are ignored./qol status first./qolmenu and turn off only the feature that feels weird./chatvanilla or Customize -> Reset Chat UI to Vanilla if whole UI scale, message font size, or taller chat leaves the panel displaced./spoons off if the optional Spoons tag makes names too long./spoons on turns it back on./mml off if minimap dot clicks feel weird on your setup.Detect Current in /styleui to re-read your current in-game name/status before applying a new experiment. It prefers the live display name, strips old style tags plus BlueSage status/Spoons suffixes like [Tired], [4/5sp], and (Homelab) before filling the editor, and falls back to saved config only when live player data is unavailable. Clear Draft only clears the editor box; /clearstatus removes a live status.Made by BlueSage for the On-Together community.
Community thanks: ●Marbles● for her $20 Ko-fi support on July 6, 2026 and her kind message recognizing the mod work and positive, safe, supportive server; bloo_bamboo for brave large-lobby QA and logs; and Rowan—our partner in crime—for continued testing and experiments. ♥
Inspired by helpful community mods and projects including:
Source/reference links are kept in the project repo so the Thunderstore page stays readable.