BlueSage QoL Tweaks Beta
On-Together QoL beta: Mod Menu, in-game Styler, reconnect guard, longer chat/ID text, pings, copy links, ID helpers, and more.
| Date uploaded | 2 weeks ago |
| Version | 0.1.0 |
| Download link | Blues-BlueSage_QoL_Tweaks_Beta-0.1.0.zip |
| Downloads | 14 |
| Dependency string | Blues-BlueSage_QoL_Tweaks_Beta-0.1.0 |
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
BlueSage QoL Tweaks - Beta
Early Access QoL toolkit for On-Together: Virtual Co-Working.
Current package: v0.1.0 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 64-player rooms, 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:
- Official On-Together Discord: https://discord.com/servers/on-together-1331560256886804580
- Blue's Discord Community: https://discord.gg/tthqADQAKa
Support Blue's community modding work:
0.1.0 Early Access Highlights
- Mod Menu: press
Homeor type/qolmenufor toggles, safe Customize fields, quick actions, themes, and local status checks. - In-game Styler:
/styleuimanages name colors, status tags, templates, Spoons, Detect Current, copyable style text, and undo. - Chat readability: local text outlines, outline intensity
25-100, normal/black outline colors, andBlackNamesOutlinefor true-black styled names/messages. - Resizable chat UI:
/chatscaleor Customize -> Chat UI scale adjusts the vanilla chat panel, input box, backdrop, text, and outlines together. - Longer text defaults: chat, Name/ID fields, ID-card details, and room names default to
3000characters. - Comfort helpers: ping mentions, ticket ping sound, click-to-copy chat, safer chat links, minimap dot-to-ID, BetterMove, asset sweep, host health, and reconnect guard.
Quick Start
Install it, launch the game, then try these:
- Press
Homeor type/qolmenuto open the friendly settings menu. - Use
/styleuifor Name Styler, Status Styler, Spoons, themes, and copyable styled text. - The lobby welcome message appears once each time you join a lobby with quick reminders for
Home,/qolmenu,/styleui,/qol status, and slash-command typeahead. - Type
@namein chat to get mention suggestions, then pressTabor click a suggestion. - Click a chat message to copy only the message text. Links are recolored;
Shift-click once to copy/warn, thenShift-click again to open. - Click minimap dots to open ID cards when BlueSage can safely match the player.
- Hold
Shiftto run orCtrlto slow-walk with BetterMove. - Use
/as nowif a long session feels heavy. - Use
/qol statusor the menu'sRun QoL Statusbutton to see what is enabled. Hosts can still use/hh runfor a quiet lobby-health check.
What It Adds
Chat, Names, And Rooms
- Chat send cap is raised from vanilla
250to3000characters. - Name, ID-card, and room-name fields default to
3000characters. ID-card details include the bottom About Me/FavoriteQuote section. - Power users can raise those up to
4000in/qolmenu, but very long text can still wrap or look odd in some game UI.
Chat Readability And Scale
- Text outlines and shadows make local chat easier to read on bright or busy backgrounds.
- Outline intensity defaults to
50and can be tuned from25to100. - Chat UI scale defaults to vanilla
100, can be tuned from75to200, and scales the chat panel, input box, backdrop, text, and outlines together. - Normal outline color and black-text outline color can be customized separately.
Ping Mentions
-
Type
@partialnameto show a small suggestion popup. -
Pinged messages get a visible
[PING]marker. -
@lobbycan ping everyone running a compatible mention mod like this one. -
Sound is on by default and uses
ticketby 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
Style Helper
/styleui opens a friendly window for:
- name styling, status tags like
(Reading), and reusable name templates; - color buttons so players do not need to hunt hex codes;
Detect Current,Apply Name Styler,Copy Name Style Text, and local-onlyClear Draft;- templates that apply immediately when loaded, with Undo available if you picked the wrong slot;
Undoto back out of the last apply, clear, template save/load, or local style edit;- Spoons controls to save
0-5, show the compact[1/5sp]tag, hide it, or undo the last Spoons edit; - Status Styler keeps live status changes separate from local draft clearing.
Clear Statusremoves the live status;Clear Draftonly clears the editor box. - themes that also apply to the QoL Menu and autocomplete popup.
It uses safe in-game player data updates and never writes profile files directly.
QoL Menu
Open it with Home, /qolmenu, or /qm.
Tabs:
- Main: Purge Unused Assets, Run QoL Status, Style UI, and built-in how-to examples.
- Toggles: simple on/off controls for the major features.
- Customize: ping colors, ping sound, sweep interval, chat outline strength, chat UI scale, and text limits. Editable rows have Save and Undo. Use Style Helper for name, status, and Spoons identity edits.
- Credits / Other: optional Host Health, themes with Cycle Theme plus Reset to Midnight Dock, credits, and one compact mostly local-only DO NOT PRESS gag. The older experimental secret buttons were retired in
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.
Feature Notes
Enhanced Player Panel
- Adds local
@andIDhelper buttons to player rows. - Buttons stay left of the native/Pomodoro/PomoSync action area so report, ignore, kick, and ban controls stay reachable.
- ID-card lookup handles larger lobbies better than the old vanilla 16-player assumptions.
- If another EnhancedPlayerPanel-style mod is already loaded, BlueSage skips safely.
- BlueSage refreshes its own recycled-row button listeners, keeps report/ban stays clickable, and avoids covering Pomodoro/PomoSync row space.
MiniMap ID Click
- MiniMap dot-to-ID help is on by default.
- Click a minimap player dot to open an ID card when the dot can be safely matched.
- Floating minimap name labels are removed. Community testing showed they could cause FPS/CPU lag in large lobbies.
- Toggle dot-to-ID clicks with
/minimaplabelsor/mml.
Click-To-Copy Chat
- Click a chat message to copy only the message text.
- It does not copy the sender name, timestamp, or styled status.
- Safe
http,https, andwww.links are shown in hyperlink color. - Hold
Shiftwhile 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. - Plain click always stays copy-only so players can verify a link before opening it.
- Toggle with
/copychator/ccopy. - Toggle link-opening with
/chatlinksor/clinks. - If the old CopyChat mod is loaded, BlueSage backs off to avoid duplicate click handlers.
Chat Readability
- Adds local outline and shadow to chat text so messages stay readable on bright backgrounds.
- Toggle with
/chatreadabilityor/chatread. - Adjust outline strength with
/chatoutline 25-100or Customize -> Chat outline intensity. Default50keeps chat readable without over-thick outlines;100is the crispest outline. - Scale the local chat UI with
/chatscale 75-200,/chatresize 1.25, or Customize -> Chat UI scale. This scales the vanilla chat surface, input, backdrop, text, and outlines together for accessibility on small displays. - BlueSage nudges scaled chat panels back on-screen when possible. If your saved vanilla chat position still feels off after scaling, use the
:::drag handle on the chat box to realign it. - Tune outline colors with
/chatoutlinecolor #000000for the normal outline path and/blackoutlinecolor #FFFFFFfor true-black chat/name rows. The same fields are in Customize as Normal outline color and Black text outline color. - Chat Readability uses a TMP material outline plus a soft UI shadow/outline assist so the visible outline stays close to the beloved beta behavior. BlueSage does not rewrite message text or change what other players see.
BlackNamesOutlineis 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.- This does not rewrite chat messages and does not change what other players see.
BetterMove
- On by default.
- Hold
Shiftto run. - Hold
Ctrlto slow-walk with a cozy popsicle-style animation. - Local-player only; it does not add custom network packets or require other players to install anything.
- Toggle with
/bettermoveor/bm.
Reconnect Guard
- On for players by default.
- Tries up to
20times about every15seconds. - Then returns toward the normal menu/error flow instead of leaving players stuck forever.
- Hosts can turn it off with
/rg off.
Asset Sweep
- Runs every
30minutes by default. - Helps long sessions reclaim unused Unity assets.
- If AndrewLin Sweep is loaded, BlueSage auto sweep backs off automatically.
- Interval safe range: 30-180 min.
- Manual
/as nowstill respects safety guards.
Leave Notices And Focus Anywhere
- Leave notices are on by default.
- Focus Anywhere is on by default.
- Timestamps are on by default for this beta pass and can be turned off in
/qolmenu.
Common Commands
/qol statusor/bsqol status: show current BlueSage states.Home,/qolmenu, or/qm: open the QoL menu./styleuior/sui: open the Style Helper./styleor/sty: build styled text from chat commands./setname,/status,/clearstatus,/statuscolor: set your display name/status without editing save files directly./brbor/afk: quick status shortcuts. Clear them with/clearstatus./spoons on/off/statusor/spoons 0-5: show, hide, or set the optional compact display-name tag, like[1/5sp]. Use/spoons offif your name feels too long./assetsweepor/as on/off/status/now: asset sweep controls./hosthealthor/hh on/off/status/run: host-health controls. Hosts can use/hh runfor a quiet lobby-health check./leavenoticesor/ln on/off/status: leave notice toggle./timestampsor/tt on/off/status: chat and notice timestamps./chatreadabilityor/chatread on/off/status: local chat text outline/shadow./chatoutlineor/outline 25-100/status: adjust local chat outline strength./chatscaleor/chatresize 75-200/reset/status: scale the local chat UI for readability./chatoutlinecoloror/outlinecolor #000000/status: normal chat outline color./blackoutlinecoloror/blackoutline #FFFFFF/status: true-black chat/name outline color./bettermoveor/bm on/off/status: Shift run and Ctrl slow-walk./reconnectguardor/rg on/off/status: reconnect guard toggle./reconnectmessageor/rm on/off/status: reconnect success message toggle./focusanywhereor/fa on/off/status: focus-anywhere toggle./minimaplabelsor/mml on/off/status: minimap dot-to-ID-card helper. No floating labels./copychator/ccopy on/off/status: click-to-copy chat messages./chatlinksor/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.
Settings
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:50ChatUiScalePercent:100ChatOutlineColor:000000BlackChatOutlineColor:FFFFFFBlackNamesOutline:trueEnableBetterMove:trueEnableReconnectGuard:trueEnableReconnectAnnouncement:trueEnableFocusAnywhere:trueEnableEnhancedPlayerPanel:trueEnablePingMentions:trueEnablePingSound:trueEnableSpoons:falseEnableStyleUi:trueEnableMiniMapPlayerLabels:true(legacy config name; now controls MiniMap ID Click only)EnableChatCopy:trueEnableChatUrlLinks:trueUiThemePreset:Midnight DockMaxChatCharacters:3000MaxProfileCharacters:3000MaxSessionNameCharacters:3000
Old 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.
Compatibility
- BlueSage only checks mods BepInEx actually loaded.
- Disabled
.old,.bak,.disabled, or.dll.disabledfiles are ignored. - BlueSage does not delete, rename, edit, or disable another creator's mod files.
- If AndrewLin Sweep is loaded, BlueSage auto sweep backs off.
- If Simple_QOL or ChatTweaks-style mods are loaded, BlueSage avoids duplicate timestamp/leave-notice formatting.
- If AndrewLin Reconnect is loaded too, BlueSage slows/guards reconnect pressure instead of rapid-firing reconnects.
- If BlueSage PlayerLimitLift is loaded, Host Health can include cap/default/chat-relay state.
If Something Feels Weird
- Run
/qol statusfirst. - Open
/qolmenuand turn off only the feature that feels weird. - Use
/spoons offif the optional Spoons tag makes names too long. - Spoons is opt-in by default in
0.1.0; Save Spoons or Show Tag turns it on. - Reopen the player list if buttons look stale after scrolling a huge lobby.
- Use
/mml offif minimap dot clicks feel weird on your setup. - Use
Detect Currentin/styleuito 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 Draftonly clears the editor box;/clearstatusremoves a live status.
Credits
Made by BlueSage for the On-Together community.
Inspired by helpful community mods and projects including:
- AndrewLin Sweep
- AndrewLin Reconnect
- Tiny_Plume Simple_QOL
- jaide EnhancedPlayerPanel
- jaide CopyChat
- jaide PingSystem
- WhozScott ServerFavorites and Heartbeat
- YenRex ShaderPlayground
- OnToWelcomeCommittee FocusAnywhere
- officerballs PlayerLimitLift and StatusManager
- On-Together Name Customiser
- OnTogetherModTemplate
Source/reference links are kept in the project repo so the Thunderstore page stays readable.
CHANGELOG
Changelog
[0.2.0 Early Access] - 2026-07-15
- Restored the established fake-danger
DO NOT PRESSbutton and tooltip for the harmless optional lobby joke. Its first press can still send only one playful line; repeat presses remain local and it never changes moderation or game state. - Kept Style Helper footer guidance owned by its active Name, Status, or Templates surface so opening
Insertafter another IMGUI window cannot inherit unrelated menu text; hover help remains local and the saved/draft state line is unchanged. - Final feedback polish keeps destroyed-row pruning on the same bounded disabled-state cleanup cadence when Chat Readability is off, migrates only known legacy 30/60-minute Sweep defaults to 15 while preserving every other valid custom interval, and keeps public rescue guidance concise without changing its fail-closed transport or authority rules.
- Added Nell to the in-game and README community thanks as a $20 Ko-fi supporter and trusted Helper, preserving only the requested quote: “Share with Rowan!”
- Changed Asset Sweep timing to 15 minutes with a 15–180 minute safe range; known legacy 30/60-minute defaults migrate once while other valid saved intervals remain untouched.
- Made mention autocomplete and player-list @ actions insert a stable whitespace-free identity token, so decorated rich-text names such as Nell resolve, highlight, and trigger the configured local ping sound.
- Prevented duplicate same-client host visibility handling from leaving the host invisible locally after restoration.
- Repaired host and Helper
@lobbyalerts against build 24141704's actual chat RPC.isLocalis channel scope, not sender identity, and the later UI row index ambiguously falls back to zero. BlueSage now captures the authoritativeRPCInfo.senderbefore that information is discarded, accepts a real unique row-zero host, rejects missing/duplicate rows, fresh-revalidates the exact Steam identity and Helper authority, and performs no roster work for ordinary chat. - Made automatic Asset Sweep keep its real-time Unity timer advancing while On-Together is unfocused. BlueSage temporarily owns
Application.runInBackgroundonly while its automatic sweep loop is enabled, keepsResources.UnloadUnusedAssets()on Unity's main thread, and restores the prior runtime setting on disable, compatibility stand-down, or unload. - Reduced always-ready Rescue/Hook idle polling from every lobby member to the authoritative owner plus explicitly published Helpers. A parsed request still requires exact current-lobby membership before execution; rescue movement now updates the local movement/root transforms, clears falling velocity, and force-syncs at a bounded 250 ms Hook cadence.
- Added dual exact-target Rescue/Hook addressing without weakening public moderation:
v2uses one verified exact SteamID64, whilev3may use only one unique active native PlayerID when Steam enumeration is still syncing. The target client must match its exact local identity; duplicate, stale, malformed, wrong-target, replayed, prior-owner, and revoked-Helper requests still fail closed. - Replaced the source-level host/Helper player-list freeze path introduced by 0.2.0 identity decoration. Row initialization no longer launches a global highlight refresh, unflagged rows perform no identity capture, and one bounded immutable roster snapshot now feeds the player tooltip, Helper workspace, Clone Shield display, and role highlights. Join/leave invalidation refreshes on the next frame so Unity IMGUI Layout/Repaint sees one consistent model; exact moderation actions still bypass the display cache and revalidate fresh live authority. The exact rebuilt binary still requires the crowded-lobby UAT below before Thunderstore upload.
- Replaced quadratic per-row identity uniqueness scans with one linear count/index pass per snapshot, cached reflected row fields, and added count plus last/max capture timing to the existing compact diagnostics. This removes BlueSage's N-to-the-fourth main-thread work during crowded player-list construction without weakening exact SteamID/PlayerID/transform/Steam-lobby agreement.
- Precomputed host/self/Helper/Clone-Shield roles once per roster snapshot instead of reparsing lobby Helper metadata and allocating incident snapshots for every verified row.
- Added a five-second amortized destroyed-row prune while Chat Readability remains active. Dead TMP rows now release BlueSage-owned outline materials plus retained font/backdrop/overlay/scale/window state instead of surviving until a settings change.
- Extended compact BlueSageDiag checkpoints with process working/private/managed memory and GC counts, enhanced-panel button created/destroyed/live counts, and Chat Readability retained-state counts. These counters let UAT distinguish a BlueSage object-retention regression from game-owned avatar/asset churn without dumping identities.
- Corrected the TinySav-class split-brain state: a unique native PlayerID and live transform missing only from the instantaneous Steam member enumeration is now
LIVE / STEAM CHECK, profile-openable but moderation-locked.LEFT / STALEis reserved for a row with no attached live native player; duplicates and other ambiguity remainCHECKINGand fail closed. - Made Helper/Safety player and native-ban selections explicitly reversible: click the selected row again or use
Clear Selection. Paging, filtering, a missing row, and lobby/access changes clear the selection; BlueSage never silently auto-selects or retargets an unban action. - Unified Status Styler preview, copy, and apply through the same bracket-aware suffix policy. Existing
(),[],{}, or other two-character status brackets now render identically in the preview, clipboard text, and live applied name. - Kept a genuinely departed retained-history tooltip at
LEFT / STALEwhile unrelated current identity sources sync; global roster completeness no longer relabels a known departed row asCHECKING, and Steam enumeration alone can no longer invent a departure. - Clarified Custom Rich Text truth: BlueSage validates balanced tag structure and preserves exact markup, while the game remains authoritative for whether uncommon TMP tags or values render.
- Hardened the matching BlueSage PlayerLimitLift 1.1.2 host stack so above-15 remote chat preserves its authoritative RPC sender when re-broadcast. Remote slash text can no longer look like a command typed locally by the host or by another host-side handler.
- Reworked crowded-lobby identity truth after Rowan's 60–63 native-row versus 54–57 current-Steam-member evidence. Current players now verify individually while departed/history rows are labeled
LEFT / STALEand excluded;CHECKINGis reserved for a live source still syncing. A stale row no longer makes every valid neighbor look unverified, and the Lobby Safety banner shows verified/native/Steam/excluded counts. QoL installation is not part of verification. - Upgraded Helper compatibility to a fresh
v3-memberdatacapability. Hosts republish it every five seconds and menus re-evaluate access automatically; the manual button is now Refresh Access Now. New helpers cannot mistake an older chat-transport host for compatible, legacy chat-shaped moderation/incident packets are rejected without execution, and protected requests use non-chat Steam member data. - Added one-click Copy Identity Evidence plus
/sidwho copy <query>parity, with exact revalidation before copy/profile actions. The record includes displayed and raw TMP names, cached Steam persona, exact SteamID64, verified row, PlayerID, and role; nothing is sent to chat. - Increased the QoL footer reserve to 120px and removed duplicate long-message concatenation so wrapped Helper-waiting/status text remains visible at Rowan's short viewport instead of clipping at 32px.
- Added build identity and count-only
verified/native/steam/excluded/completeplus Lobby Safety state to BlueSageDiag so logs can distinguish old 0.2.0 binaries and explain roster drift without exposing ordinary-client SIDs. - Updated the Thunderstore dependency pin to BepInExPack
5.4.2305, matching the current On-Together package and Blue's tested loader core. - Fixed the Rowan Helper discoverability failure: an assigned Helper now sees Helper / Safety while waiting for a compatible host capability, but exact IDs, incidents, and moderation actions remain locked until the host publishes a fresh compatible v3 member-data capability.
- Restored restrained Style Helper button semantics after Rowan's review: Open Style Helper is neutral like nearby actions, while Close Style Helper becomes sage only while the helper is actually open. Coral remains selected/active, gray remains off, and orange remains experimental.
- Finished the Harbor and Midnight Dock contrast pass: neutral, selected, enabled, Off, callout, and experimental buttons now own every normal/hover/pressed/focused state with readable text polarity. Fields and focus borders, command popups, footers, section borders, previews, and Style Helper swatches now use the same theme-owned treatment; swatch labels choose light or dark text from the displayed color.
- Highlighted the local-only
HOME,INSERT, andSLASH COMMANDSnavigation keywords with the same restrained callout language in the first-lobby tips and Getting Started help. - Made the authenticated exact-target Rescue/Hook compatibility receiver always ready in public QoL, with no normal-user toggle to discover or accidentally disable. It accepts the verified-Steam
v2target or the unique-active-nativev3target described above; both remain fresh, nonce-guarded, owner/Helper scoped, current-lobby-bound, and fail closed. - Reduced the receiver's duplicate-action cooldown from ten seconds to one second so a deliberate Rescue-then-Hook workflow is usable while still suppressing same-frame repeats.
- Removed the legacy
!bsrescue/!bsvisiblechat-shaped receive paths. Current rescue and visibility controls use hidden Steam member data only, so control payloads cannot become public chat through BlueSage 0.2.0. - Fixed compatible host invisibility fallback to bind to the live remote avatar transform, rescan newly spawned/re-enabled renderers on every fresh heartbeat, and restore captured renderer states on show, expiry, owner change, or despawn.
- Added
/selfmove(/bluemove,/qolmove) parity for the supported Save Pos, Teleport Saved, Noclip/Fly, speed, jump, gravity, status, and reset menu actions. Saved and rescue teleports request the local owner's normal network transform sync after applying.
Reconnect Recovery
- Rebuilt Reconnect Guard around the game's native
MainSceneManager.ConnectionLostsignal. Every ordinary/manual lobby join remains observational and cannot trigger cleanup. - Native teardown gets up to 10 seconds to reach a clean lobby menu before one canonical
JoinByCode(..., false)saved-lobby attempt; direct transport restart is not used. - Generation ownership prevents duplicate callbacks from creating overlapping reconnect loops. Post-join validation gets up to 45 seconds and requires authoritative Steam membership, connected PurrNet, restored local player/controller/UI, and two seconds of stable quorum; Vivox is required only when lobby voice is enabled.
- Failed saved-lobby validation returns through native cleanup without retrying the same lobby. Same-host replacement discovery permits one separately validated public/direct-join candidate and rejects ambiguous or incompatible matches.
- Fixed the healthy-session false-cleanup loop and the stale vanilla
IsConnectinggate. Community testing subsequently recorded repeated successful recoveries from genuine disconnects on this release path.
Identity, Styling, And Readability
Independent Clone Alerts
- Clone Shield now lets a potential victim's own QoL client detect complete avatar/outfit matches and exact letter/color/rich-text name matches, publishing one cautious global advisory with partial IDs and a request to verify the player list/profile.
- Added a bounded per-lobby Clone Shield incident lifecycle (
C001,C002, …) with exact victim/suspect Steam IDs, open/resolved/locally dismissed states, closed history, and deliberate highlight cleanup. Incident commands always resolve the suspect while protecting the victim from the quick-ban path. - Tightened Clone Shield and
VERIFIEDidentity to the same current Steam-lobby/native-Steam/PlayerID quorum. Departed native history rows are excluded per row; Clone Shield still waits unless every current Steam member has one unique live row. Two consecutive absent or no-longer-matching scans archive an incident; per-player, bulk, and history cleanup remain local and never touch bans, Helpers, or lobby state. - Added exact host/Helper structured audit records for clone open/resolve/dismiss/stale transitions and throttled repeated roster-wait diagnostics to once per state/minute. Ordinary clients still receive no extra exact-SID enrichment.
- Added host-native
/sidbanand/sidunban//unbansidpreview/confirm commands plus/sidlist. The host is the only native ban writer; compatible Helper requests use non-chat Steam member data, are revalidated against verified current membership, rate/replay limited, and targeted by exactPlayerID. - The host can also preview and save an exact SteamID64 to the native ban list after that player has left. Off-roster entries require the full ID, a fresh confirmation, and a verified absent roster state; they persist without pretending a kick occurred. Helpers remain limited to current verified lobby targets, and
/sidunbanreverses either path. - The native green Steam-profile tooltip keeps a compact row check for ordinary users:
LIVE,LEFT / STALE, orCHECKING. For the active QoL host and compatible Helpers,Steam Profile • VERIFIEDexposes the exact SteamID64, cached Steam persona, live row, PlayerID, and HOST/HELPER/VICTIM/SUSPECT details. Only the successful authorized view expands; failure text cannot overflow across adjacent rows. - Kept the ordinary profile check at the game's compact tooltip size while resizing/wrapping the authorized host/Helper detail view so persona, exact SID, role, and navigation no longer clip over adjacent rows. Every later native tooltip deterministically restores the original panel size, body font/wrapping, and header color. Native ban storage failures now show NOT AVAILABLE instead of falsely claiming an empty list.
- Added an access-scoped fifth Helper / Safety tab for the active QoL host and assigned exact-SteamID Helpers. It contains a paged verified current-lobby roster, exact SteamID copy, Steam-profile opening, Clone Shield incident review/history, and preview-first moderation actions; Helper-list management stays host-only.
/sidlistand/sidwho listare protected compact fallbacks instead of public roster dumps. - Added a host-only paged Native banned players view that keeps the game's paired saved nickname and exact SteamID64 together, supports exact-ID copy, and creates a separate preview-first unban without relying on transient chat or console output.
- Unified
@lobbyand moderation delegates into one host-scoped exact-SteamID Helper list./helperis the primary command;/lobbyhelper,/lobbymod,/modhelper, and/moderationhelperremain aliases, with matching-owner legacy entries migrated safely. - Incident resolution now uses a hidden helper-to-host request plus host-owned Steam lobby state so compatible QoL clients can clear victim/suspect highlights without adding another public chat line. Public Clone Shield alerts remain visible and cautious.
- Turning Clone Shield off now clears its current-lobby incident ledger, closed history, replay state, and victim/suspect highlights immediately; peer alerts are ignored until it is enabled again.
- Repaired the 0.1.8-era style-state edge case where Detect Current or a status/Spoons-only change could capture the full rendered identity as the saved base. Existing contaminated or deterministically repairable rich-text bases migrate once with a local rollback copy; Detect Current now reads live base/status/Spoons drift together, Custom Rich Text mode preserves exact balanced markup, and Apply verifies native serialization plus visible readback before committing or reporting success. BlueSage validates structure while the game remains authoritative for uncommon TMP tag/value rendering.
- Name Styler now accepts the configured Name/ID capacity up to 4000 characters, retains closing TMP tags, preserves detected live markup for editing, and reports the draft's actual length.
- Name, status, Spoons/mood, presets, and quick status commands preserve the exact styled base name. Invalid or oversized composed names are rejected before saved configuration or live player state changes.
- Added explicit
/setname resetand/statuscolor resetrecovery paths without discarding the current status, Spoons, or unrelated styled-name pieces. - Style Helper and QoL Menu now keep their content/footer reachable at smaller resolutions, reset tab scroll positions, use truthful Save/Undo state, and expose compact 12/24-hour timestamp controls.
- Repaired manual and automatic Asset Sweep invalidating BlueSage's runtime menu textures. Shared theme textures are now protected, cached, generation-checked, and released only when the plugin unloads, so no theme-cycle refresh is required.
- Snapshot Now now creates an atomic timestamped copy of the true live
BepInEx/LogOutput.log, copies the exact snapshot folder path, and retains the latest eight snapshots instead of only flushing the older running session mirror. - QoL Menu and Style Helper now use a deterministic centered
1320 x 720safe fit on first open and the full safe viewport plus scrolling on smaller displays. Intentional user size and position persist across close/reopen while they remain on-screen; a resolution or display change clamps only the geometry that would otherwise hide controls. - Added the default
BlueSage Harborvisual system: warm cream content cards, midnight header/footer chrome, coral active actions, sage enabled states, explicit On/Off labels, grouped feature sections, and responsive one/two/three-column layouts. Existing saved themes remain available and Reset now returns to Harbor. - Repaired Midnight Dock text fields and text areas with explicit normal, hover, focused, and active textures; removed stretched vanilla field backgrounds that produced glow streaks and made unfocused values difficult to see. Toggle cards now use consistent Comfort, Chat, Identity, Personalization, and Experimental accents.
- Name and Status editors keep the complete raw rich-text draft visible instead of truncating closing tags mid-edit. Apply/Copy still enforce the configured limit and reject crossed or incomplete TMP tags without mutating the live name.
- Corrected the one-time Spoons migration so a timestamped player opt-in is preserved; only the old timestamp-less default-on state is hidden.
- Public helper text received a release-wide plain-language pass: first-lobby tips name the Home and Insert surfaces directly, command choices wrap instead of clipping, long supporter messages stack safely, and moderation guidance consistently asks players to verify Steam profiles before acting.
- First-lobby guidance now reports the game's actual saved Push to Talk/Voice Activation choice locally, warns when Voice Activation may leave the mic live, and reminds players that the game's Pomodoro/focus timer can earn tickets and XP. Each tip retries independently until posted, while voice-state diagnostics emit only once per lobby/state transition instead of every retry.
- Added authorized
/sidincident//cloneincidenttypeahead for currentC###incidents plus resolve, dismiss, and cleanup actions. Locked-on diagnostics now log only the handled slash-command name and explicitly redact every argument, preventing names, statuses, queries, and exact moderation IDs from leaking into BepInEx output.
Public QoL Additions
- Added self-only Save Pos, Teleport Saved, default-off Noclip/Fly, and bounded speed/jump/gravity controls under
Credits / Other. Fly always starts off and reset/unload restores normal movement. - Added default-on Reusable Consumables for owned canteen items and chalk. It suppresses only the known item-count decrement after acquisition; shop tickets, initial purchases, clothing, bait, rods, bobbers, and unknown future item types remain vanilla. Turning it Off restores normal consumption immediately.
- Avatar Presets 4-9 and Chalkboard Persistence now ship default-on after community validation. Vanilla avatar slots 1-3 remain game-owned and untouched, and Chalkboard Persistence still stands down when Andrew's Chalky is loaded.
- Player Render Saver remains the only orange, default-off experimental feature.
- Added cached Steam-friend minimap coloring that stands down when Aquarium51 MinimapFriends is loaded, while MiniMap ID Click remains independent.
- BlueDevDebug is locked on for consistent community troubleshooting in 0.2.0. Diagnostics intentionally exclude credentials and authentication tokens.
- Added default-on, bounded local incident evidence: a structured chat/notification JSONL transcript preserving raw rich-text and plain text together, plus a running mirror of
BepInEx/LogOutput.log. Exact roster SteamID64/persona enrichment is limited to the verified host or assigned Helpers;/auditlogprovides status, opt-out, folder copy, and manual snapshot controls, and nothing uploads automatically. - Added authorized live-player filtering by partial displayed name, bounded regex, partial Steam persona, 4+ SteamID digits,
_host, and_self./sidwhoreturns every verified match read-only; helper autofill accepts only one unique live result, while ban authority remains exact-ID and preview/confirm gated. - Native BanData changes are captured into the local moderation evidence so host player-panel bans, report-panel bans, compatible native-ban tools, and BlueSage ban/unban actions retain a timestamped action/source/outcome beside the paired saved display name and SteamID64.
- Helper-to-host moderation and incident resolution now use authenticated non-chat Steam member data. Fomo can continue observing ordinary visible chat without receiving
!bsmod, exact-SID, or incident-control payloads; the host still revalidates authorization, live identity, nonce, freshness, and target before acting. - Matched menu and slash-command safety flows: normal players can see local audit status, snapshot, and folder-copy actions beside the audit toggle, while authorized Lobby Safety previews now expose exact-target Confirm controls for incident/live-player bans and native-record unbans.
Build And Compatibility
- Aligned large-host guidance with PlayerLimitLift
1.1.3, the next uploadable companion after the already-live1.1.2; QoL remains standalone and the companion remains host-only. - Added exact loaded-mod ownership for Andrew Hush, Fomo, Echo, Alpha, Chalky, and Desync. Desync pauses BlueSage's overlapping automatic Host Health repair loop, Chalky keeps the existing board-persistence stand-down, Echo is called out as an intentional clone source, and public moderation retains exact-ID authenticated host/Helper authority without importing a community banlist in 0.2.0.
- Rebased against On-Together build
24141704/ Unity6000.0.60f1, including the voice-era player panel and current PurrNet/Steam/Vivox surfaces. - Added a narrow guard for uninitialized PurrNet
NetworkReflectioninstances while leaving valid reflected state untouched. - Kept always-on troubleshooting useful in crowded lobbies while suppressing repeated copies of the same player-row and reflected-surface diagnostics; routine roster snapshots now use a compact membership fingerprint instead of rewriting every Steam ID every five minutes.
- Preserved compatibility backoffs for AndrewLin Sweep/Reconnect/Chalky, Simple_QOL/ChatTweaks-style timestamp ownership, Aquarium51 MinimapFriends, and BlueSage PlayerLimitLift.
[0.1.9 Early Access] - 2026-07-11
Hotfix - Style And Status State Repair
- Repaired the shared
/status,/brb,/afk,/back,/clearstatus, Status Styler, Status Color, Spoons, and mood recomposition path so every suffix-only action preserves the exact styled base name. - Added natural
/setstatus,/set-status, and/clear-statusaliases to the existing status commands. - Status transitions now capture the base using the old exact generated status/Spoons suffixes before changing configuration, preventing the previous status or default Gradient 3 palette from being folded into the name.
- Removed generic bracket guessing: legitimate names such as
Pru (^-^),Artist [OC], andHelper {QA}are no longer truncated as if their endings were BlueSage statuses. - Repeated preset transitions preserve the original status:
/brb, then/afk, then/backreturns to the status from before preset mode instead of returning to BRB. - Detect Current hydrates the live rich-text colors/mode while retaining exact editable markup, and paired
<noparse>...</noparse>validation now follows TMP behavior. - Name/status changes now follow the verified native persistence order by saving
PlayerDatabefore publishingGetPlayerIdInfo()to the current roster. - Fixed Spoons Save/Undo to restore the previously saved label and made invalid label validation occur before count/config mutation.
- QoL Menu and Style Helper title bars now both show the active mod version.
[0.1.8 Early Access] - 2026-07-11
Voice-Update Rebase And Community Polish
- Added orange, default-off
EXPERIMENTAL - Chalkboard Persistence: safe local/chalksave,/chalklist, and host-only/chalkloadusing validated atomic saves and the game's native board repaint/sync path. It automatically stands down when Andrew's Chalky is installed to prevent duplicate relays. - Added cached Steam-friend coloring to existing minimap dots without restoring expensive floating labels. It refreshes on the bounded minimap cadence and automatically stands down when Aquarium51's MinimapFriends is loaded.
- Fixed Style Helper tab layout: switching Name/Status/Templates now returns the content view to the top, and the custom Spoons label is back inside Status Styler instead of occupying every tab header.
- Fixed Detect Current resetting its editor controls to the default Gradient 3 palette. It now hydrates the live name's actual colors/style, while Status and Spoons updates preserve the current styled base name instead of recomposing from stale cached defaults.
- Added an opt-in experimental expansion of the vanilla avatar-style selector from three visible presets to nine. Slots 1-3 remain entirely game-owned—including existing player designs and unused vanilla defaults—while slots 4-9 use a separate BlueSage save bridge and apply through the game's normal customization/network path. The orange
EXPERIMENTALmenu toggle defaults off and can remove/restore added rows without deleting either preset bank. - Corrected host-visibility maintenance so it runs only for the local movement controller instead of once per spawned avatar per frame, and throttled active owner/roster validation to twice per second.
- Reduced idle focused-chat overhead by caching mention-ping and command-typeahead input/caret state.
- Suppressed identical successful player-row diagnostics for 30 seconds with a bounded cache while preserving new-row evidence.
- Corrected Reconnect Guard diagnostics to describe canonical saved-lobby cleanup/rejoin instead of a stale direct-
StartClientpath. - Added multiple authenticated backend compatibility and lifecycle optimizations for Blue-hosted community lobbies without adding public controls or changing normal QoL behavior.
- Rebased against On-Together build
24141704/ Unity6000.0.60f1and refreshed the player-panel integration for the voice-era row layout while leaving native voice, moderation, Pomodoro, and game-owned controls unobstructed. - Rebuilt Reconnect Guard around the game's canonical lobby join flow. It rejects transport-only ghost-member reconnects, requires authoritative Steam membership plus usable PurrNet/player runtime, validates Vivox alignment when voice is enabled, and uses bounded same-host public replacement-lobby discovery before safe menu fallback.
- BlueSage now suppresses AndrewLin Reconnect's competing transport-only retry while managed recovery is active instead of yielding to a path known to produce lobby-count ghosts.
- Reworked Chat Readability from overlapping periodic full-tree passes to event-driven newest-row styling plus deferred topology/config reconciliation. Unchanged TMP rows avoid repeat material/mesh dirties and destroyed UI state is pruned.
- Chat Backdrop now follows the current chat scroll-view topology with a stretch-anchored, non-raycast-blocking fallback overlay while preserving native mouse-wheel scrolling.
- Replaced the unconditional
250-row history override with configurableChatHistoryRows: default/reset100, range25-250,/chatrows(/chathistory,/chatr), menu control, status, and typeahead. A higher vanilla or other-mod getter result is never lowered. - Added explicit 12-hour AM/PM and 24-hour timestamp controls plus reset/status behavior.
- Improved Name Styler rich-text detection/preservation and bounded undo/redo/reset behavior; Status/Spoons reset paths now restore their documented defaults.
- Added custom Spoons/mood labels through
/setmoodand Style Helper while keeping the public default hidden[5/5sp]state. - Secured
@lobbymass alerts: only the authoritative lobby host or host-delegated Steam-ID helpers can trigger them. Added host-only/lobbyhelper add/remove/list/reset; unauthorized or name-spoofed@lobbyremains ordinary chat. - Reworked Player Render Saver around distance bands, hysteresis, bounded work, restoration, and diagnostic counters. It remains an orange
EXPERIMENTAL, default-off performance test until live UAT proves actual renderer suppression without hiding chat/player-list identity. - Added Main-tab community thanks for ●Marbles●—including her July 6 Ko-fi message—bloo_bamboo, and Rowan; refreshed Discord/support links and added an in-menu version/last-updated stamp.
- Locked BlueDevDebug diagnostics on for public
0.1.8, including old disabled configs./bluedevdebug offtruthfully explains the release lock; diagnostics intentionally exclude credentials and authentication tokens. - Copy Chat now attaches its same sanitized, link-safe click handler to local
AddNotificationrows, making BlueSage command/system responses copyable without adding names or timestamps to the clipboard payload. - Kept the public package focused on the documented player-facing QoL surface.
[0.1.7 Early Access] - 2026-07-06
Hotfix
- Fixed Chat Backdrop breaking mouse-wheel chat scrolling. The backdrop now only adjusts/restores vanilla chat image color and alpha; it no longer disables the raycast targets Unity uses to route scroll input.
- Kept the
0.1.6scroll-ownership cleanup: BlueSage still avoids rewriting vanillaScrollRectmovement/sensitivity while preserving chat height, font size, whole-panel scale, outlines, retained rows, and/chatvanilla.
[0.1.6 Early Access] - 2026-07-06
Hotfix
- Fixed chat scrolling compatibility after the
0.1.3chat layout work. BlueSage no longer rewrites vanillaScrollRectmovement, scroll sensitivity, scrollbar visibility, or viewport mask settings during chat refresh. - Chat height, chat font size, whole-panel chat scale, outlines, backdrop, and retained rows still work, but native chat scrolling and scroll-speed mods keep ownership of actual scroll input.
- Kept
/chatvanillaand the Customize reset button as the safe reset path for chat scale/font/height back to vanilla values.
[0.1.5 Early Access] - 2026-07-06
Emergency Hotfix
- Fixed a
0.1.4reconnect loop where players who had already entered a healthy lobby could be misread as stuck and forced back through join again. - Reconnect Guard now treats visible lobby entry as success and stops interfering while the game finishes settling local player/chat runtime objects.
- Native join-by-code watchdog is now observational: it records debug breadcrumbs but does not force a saved-lobby retry or menu fallback after lobby entry succeeds.
/bluedevdebugbreadcrumbs are on by default so community logs include clearer reconnect and UI diagnostics. Use/bluedevdebug offfor quieter logs.
[0.1.4 Early Access] - 2026-07-06
Hotfix
- Reconnect Guard now requires the local player/chat runtime to finish loading before it declares reconnect success, instead of trusting transport/lobby signals alone.
- Added a guarded join-by-code loading watchdog: if a lobby join enters a stuck loading state, BlueSage retries that saved lobby once and then returns toward the menu instead of leaving the player trapped until relaunch.
- Reconnect fallback now clears the unhealthy multiplayer session before calling the game's normal menu return path, without re-triggering another guarded reconnect loop during that fallback.
[0.1.3 Early Access] - 2026-07-05
Chat Layout Upgrade
- Added
ChatWindowHeightPercentfor players who want taller chat space without scaling text or UI. Default stays vanilla100; supported range is100-200. - Added
/chatheight,/chatstretch, and/chathpluson/off/toggle, Customize -> Chat window height, Save/Undo, typeahead suggestions, and/qol statusreporting asChatWindowHeight. - Added
ChatFontSizePercentfor players who want larger chat message text without scaling the whole chat UI. Default stays vanilla100; supported range is75-200, with/chatfont,/chatfontsize, and/cf. - Added
/chatvanilla,/chatreset, Customize -> Reset Chat UI to Vanilla, and unload/reset restoration for whole chat UI scale, chat font size, and chat window height. - Retained chat logs are now automatically raised to 250 rows for both Global and Local, so players can scroll back through longer sessions even if they leave chat height at vanilla size.
- The larger chat window uses the same verified chat panel roots as the existing scaler, with stable vertical expansion that avoids the older width-expansion path until native wrap-width behavior is proven reliable.
- Retained rows use the current
GameSettings.GlobalMessageLimitCountandGameSettings.LocalMessageLimitCountgetter path, raising the game limits without touching chat networking or message text. - Height reset restores vanilla layout, while active height changes keep the current bottom edge stable so players can still use the native chat drag handle for final positioning.
- Refreshed in-game wording, README, and UAT notes to make the difference clear:
/chatfontis for bigger message text only,/chatscaleis for scaling the whole chat UI,/chatheightis for more vertical visible space, and deeper retained rows are automatic. - Documented that native Global/Local chat tabs remain game-owned in this release while BlueSage improves readability, retained rows, font size, whole-panel scale, and vertical height around them.
- Reconnect Guard now waits about
5seconds before its first managed reconnect attempt, limits itself to3short attempts, validates that the visible lobby/player UI becomes usable before calling reconnect successful, then tries the saved last lobby once through the game's native join-by-code flow before falling back toward the normal menu flow if the stuck void-lobby state remains. - If AndrewLin Reconnect is installed, BlueSage now defers to that mod's reconnect loop instead of stacking competing reconnect behavior.
- Added Clone Shield as a defensive local warning when another visible roster row appears to reuse your current avatar/outfit. It ignores shared name colors, font styling, and status text to avoid false positives, warns locally only, and does not perform moderation actions.
- Added optional Player Render Saver for very large lobbies. It is off by default, local-only, hides far/overflow remote player renderers on your PC only, keeps chat/player-list rows visible, and restores renderers when turned off.
- Tuned QoL Menu and Style Helper max-safe opening size down slightly so they still auto-fit but leave more game/chat area visible on launch.
[0.1.2 Early Access] - 2026-07-04
Feedback Polish
- Tuned final feedback defaults: Spoons remains opt-in/off by default, Ping Sound stays on the
ticketsound, and default chat outline intensity is now75. - Older enabled Spoons configs are reset to hidden once on update so the compact tag is truly opt-in again; players can turn it back on with
/spoons on,/spoons 0-5, or Style Helper. - Existing users with untouched
50or short-lived60chat outline defaults migrate to the current75default on update while custom outline values are preserved. - Name Styler and Status Styler now draw from the same responsive color library layout so their swatch choices match cleanly.
- QoL Menu and Style Helper now open at their largest safe on-screen size, keep a small game/chat lane visible where possible, and still let players shrink them with the bottom-right resize handle.
- Menu helper text and footer guidance are more noticeable so players can hover a control and see the exact answer without hunting through docs.
Hometoggles the QoL Menu,Inserttoggles Style Helper, lobby welcome tips call out the main keys/commands, and/backrestores the status that was active before/brbor/afkwhen possible.
[0.1.1 Early Access] - 2026-07-03
Hotfix
- Restored chat readability outline behavior after the 0.1.0 release: exact true-black rich-text names/messages now trigger the configured black-text outline color again, including
<#000000>,<color=#000000>, and<color=black>tags. - Kept black detection precise so dark-but-not-black colors like
#000080,#000001, and#101010still use the normal outline color instead of being forced onto the black-text outline path. - Made the local UI outline/shadow apply its configured alpha directly so normal and black outline colors render more consistently over bright or busy backgrounds.
[0.1.0 Early Access] - 2026-07-03
Highlights Since 0.0.10
- Full Early Access QoL menu flow:
Homeor/qolmenuopens settings,/styleuiopens Name Styler, Status Styler, templates, colors, and optional Spoons, andRun QoL Statusgives a quick local feature check. - Chat readability/accessibility is now a first-class feature: local outline/shadow, restored TMP material outline,
/chatoutline 25-100,/chatscaleand/chatresize 75-200, Customize -> whole chat UI scale, back on-screen nudging for scaled panels,/chatoutlinecolor, and/blackoutlinecolor. BlackNamesOutline=on/offdefaults on so true-black styled chat/name rows can use the lighter black-text outline color instead of disappearing into dark chat backdrops.- Longer text defaults are now
3000for chat, Name/ID fields, ID-card details like About Me/FavoriteQuote, and room names, with cautious local tuning up to4000. - Chat links are easier to read and safer to use: links get hyperlink color, plain click copies, and
Shift-click warns before opening.
Polish And Defaults
- Existing users get a one-time safe config migration: old untouched text limits move to
3000, old60-minute sweep defaults move to30, untouched outline intensity moves to the current default, and Spoons moved toward opt-in instead of being assumed visible for everyone. - Ping Mentions now default to the
ticketsound, including migration from the old untouchedclickdefault. - QoL Menu and Style Helper are cleaner: toggles use normal On/Off buttons, Customize keeps safe editable rows with Save/Undo, identity edits live in Style Helper, and Midnight Dock is the default theme.
- Status Styler and Spoons are tidier: Spoons stays compact as
[1/5sp], remains opt-in, and has Save/Show/Hide/Undo controls beside status edits. - Templates apply immediately when loaded, with Undo available if the wrong slot was picked.
Fixes
- Welcome tips retry until the local notification system accepts them, so the welcome no longer vanishes during early lobby/chat setup.
- Detect Current now prefers live in-game values, keeps the current live name style in preview/copy/apply, and only strips BlueSage status/Spoons suffixes before filling an editable draft.
- Menu/footer tooltip and status text areas are consistent across QoL Menu and Style Helper tabs, with no cross-window tooltip bleed.
- Typeahead command popups are scrollable and more readable over busy chat.
- ID-card details now follow the Name/ID text limit for all player data fields, including the bottom About Me/FavoriteQuote section, instead of the vanilla
1000-character publish cap. - Ping Mentions now match by base name but render the full current display label once, so
@Rowancan highlightRowan [Tired] [4/5sp]and@Bluecan highlightBlue (Homelab) [3/5sp]without duplicating suffixes; status/Spoons text does not duplicate inside ping messages.
[0.0.10] - 2026-07-02
New
- Midnight Dock became the default menu theme, and the broken High Contrast theme was removed.
- Added a per-lobby welcome message so players see
Home,/qolmenu,/styleui,/qol status, and typeahead tips when they join a lobby. - Chat links now show as hyperlink-style text. Plain click still copies;
Shift-click first copies and warns, then a secondShift-click opens the same link.
Improved
- Moved Purge Unused Assets to the Main tab beside the other quick actions.
- Toggles use two columns so the menu space is easier to scan.
- Fresh configs moved the visible beta features on for testing, while existing configs kept saved player choices.
- Spoons stays compact as
[1/5sp]; the old mood command and mood config fields were removed so names do not flood chat.
[0.0.9] - 2026-07-02
New
- Added menu themes: OG, Vanilla Cream OT, and Midnight Dock.
- Theme choice applies to the QoL Menu, Style Helper, and autocomplete/typeahead popups.
- Added click-to-copy chat with
/copychatand/ccopy. - Added safe chat-link opening: plain click copies text, and
Shift-click opens the first safe web link. - Added chat readability with
/chatreadabilityand/chatread. - Added BetterMove:
Shiftruns andCtrlslow-walks. - Added
/brband/afkquick status shortcuts.
Improved
- Fixed gradient/color output so color tags close cleanly and do not bleed into later text.
- Style is now for names, while Status is for activity tags like
(Reading). - Style Helper templates now save name styling only, so status does not change by accident.
- Added the color library to Status so players can pick status colors without hex-code homework.
- Spoons is now off by default for new installs, uses a compact
[1/5sp]tag when enabled, and has/spoons offplus a QoL Menu hide button for shorter names. - QoL Menu customization rows now include Save plus a back-out button so players can discard unsaved edits.
- Slash-command typeahead is scrollable when browsing commands with
/. - Chat readability now tries a stronger local text outline, and Chat Backdrop can restore saved backdrop colors when turned off.
- MiniMap dot-to-ID is the supported minimap helper for this release.
- Floating minimap name labels stay removed because large lobbies reported FPS/CPU lag; clicking dots for ID cards keeps the useful part without name clutter.
- Chat readability improves local text contrast without changing what other players see.
- BetterMove only affects your own character locally.
- README now keeps the Thunderstore-facing notes shorter and more player-friendly.
[0.0.8] - 2026-06-29
- Added the visible
@namesuggestion popup for Ping Mentions. - Made Style Helper and QoL Menu open larger by default with easier resize handles.
- Expanded the Style Helper color library.
- Retired the broken tiny Easter egg buttons and kept one compact optional one-time lobby joke with truthful labeling.
- Player-list helper buttons now protect native report/ignore/kick/ban controls first.
- Enhanced Player Panel helper logs now stay separate from host-health logs.
- README now lists both the official On-Together Discord and Blue's Discord Community.
[0.0.7] - 2026-06-28
- Fixed Ping Mentions so typing
@nameand pressingTabworks naturally. - Kept
[PING],@lobby, and selectable sound modes. - Reconnect Guard now tries
20times about every15seconds, then returns toward the normal menu/error flow. - MiniMap dot-to-ID remains on by default.
- Floating minimap labels are removed after large-lobby FPS/CPU lag reports.
- Style Helper and QoL Menu now have resize grips, screen clamping, vertical scrolling, and clearer tips.
- Home now opens/closes
/qolmenu. - Player-list helper buttons sit left of the native/Pomodoro/PomoSync action area so report/ban buttons remain reachable.
[0.0.6] - 2026-06-28
- Fixed the v0.0.5 player-list button layout regression.
- Style Helper and QoL Menu became easier to read and scroll.
- Added Discord buttons to the Style Helper and QoL Menu headers.
- Moved beta controls into Toggles and changed the old Beta tab into Credits / Other.
- Added
Reset Currentto the Style Helper. - Ping Mentions got yellow completed mentions, visible
[PING]marking,@lobby, and selectable sound modes. - MiniMap click-to-ID-card stayed as the useful behavior while floating labels were removed.
- Credits / Other invites players to screenshot/share finds in Blue's Discord.
[0.0.5] - 2026-06-28
- Chat, ID/profile fields, room names, and style-generated text now default to 1500 characters.
- Text limits are user-expandable up to 4000 through config or
/qolmenu. - Host Health now defaults off and is available through manual
/hh run. - Added safer player-list row refresh for larger lobbies and recycled player-list rows.
- Added Pomodoro/PomoSync spacing protection for player-list helper buttons.
- Added MiniMap dot-to-ID support.
- Added
/styleuiand/qolmenu. - Added PlayerLimitLift companion awareness for Host Health.
- Fixed timestamps so they can apply to chat plus join/leave/system notices.
[0.0.3] - 2026-06-18
- Early beta cleanup.
- Added
/style//sty. - Added Focus Anywhere.
- Added Enhanced Player Panel helpers.
- Added optional PlayerLimitLift companion awareness.
- Reduced Host Health false-positive noise.
[0.0.2] - 2026-06-18
- Rebuilt as
0.0.2so Thunderstore could accept the package after the deprecated0.0.1upload.
[0.0.1] - 2026-06-18
- First Early Access release of BlueSage QoL Tweaks - Beta.
- Added Asset Sweep, Host Health, longer chat/name/room text, leave notices, optional timestamps, Reconnect Guard, and internal
/as,/hh,/ln,/tt,/rg,/rm,/bsqol, and/qolcommands.