Chalky
Chalky: Enlarge chalk and save/load chalkboard. Use /chalkyhelp for commands.
| Date uploaded | 2 months ago |
| Version | 1.2.8 |
| Download link | AndrewLin-Chalky-1.2.8.zip |
| Downloads | 140 |
| Dependency string | AndrewLin-Chalky-1.2.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.2305AndrewLin-Alpha
Alpha: A mod for On-Together to provide common utilities and features.
Preferred version: 0.1.1README
Chalky
A BepInEx mod for On Together that enhances the chalkboard drawing experience with configurable brush sizes and in-game chat commands.
Features
- Configurable chalk brush size - Paint a larger area on the chalkboard in a single stroke. The default game brush covers a 2×2 grid cell block; Chalky lets you scale this up to any integer size.
- Chalkboard save & load - Save any board's full drawing state to a local file and restore it later. Saved files are portable JSON and include an optional PNG preview.
- Broadcast on load - When loading a board, all currently connected players receive the restored drawing instantly. If you're the host, the update is sent directly. If you're a non-host client, the board state is relayed through the host (requires the host to also have Chalky installed). Late-joiners get it automatically through the game's existing sync flow. The host relay notification includes the sender's name and the board's network ID for easy identification.
- In-game chat commands - Control all mod behavior on the fly without leaving the game. Commands are typed into the chat box and are never sent to other players.
- Toggle on/off at runtime - Enable or disable the mod's drawing enhancements instantly without restarting.
- Show/hide command echo - Optionally suppress commands from appearing in your chat history.
Warning
- Chalk size can only be enlarged. Smaller than the default 2×2 is not supported.
- Non-host board loading requires the host to also have Chalky installed for other players to see the changes. Without Chalky on the host, only your own view will update.
In-Game Commands
Type any command into the in-game chat. Commands start with / and are not sent to other players. Each command has a short alias for convenience.
/chalkyhelp(/ch) - List all available Chalky commands/chalkytoggle(/ct) - Toggle the mod on or off/chalkysetsize [size](/css [size]) - Set the chalk brush size. Omit to reset to default (2)/chalkygetboards(/cgb) - List all saved chalkboards/chalkysaveboard [name] [index](/csb [name] [index]) - Save a board to disk. Omit[index]to use the active board/chalkyloadboard [name] [index](/clb [name] [index]) - Load a board from disk and sync to all players. Works for both host and non-host clients (non-host relay requires Chalky on the host)/chalkyhostRelay(/chr) - Toggle host relay on or off
Note: Size changes are not persistent and reset to the default of
2on game restart.
Examples
# Set brush to paint a 5x5 block per stroke
/css 5
# Reset brush size back to default (2x2)
/css
# Save the currently active board as "lobby_art"
/csb lobby_art
# Save board index 2 specifically as "backup"
/csb backup 2
# Load "lobby_art" onto the currently active board
/clb lobby_art
# Load "backup" onto board index 0
/clb backup 0
# List all saved boards
/cgb
# Turn off Chalky's drawing enhancements entirely
/ct
# Check which commands are available
/ch
Configuration
Settings are saved to the BepInEx config file and can also be changed at runtime via chat commands.
Location: BepInEx/config/com.andrewlin.ontogether.chalky.cfg
GeneralEnableFeature(default:true) - Enable or disable all mod featuresShowCommand(default:false) - Show commands in chat when typed (config file only)EnableHostRelay(default:true) - When enabled, the host relays board state received from a non-host client to all other connected players. Disable if you don't want the host to relay
BoardsBoardSaveDirectory(default:~/on-together/chalkboard) - Directory where board saves are stored.~expands to your home folder
Saved boards are stored as <name>.chalkboard.json (full drawing data) and <name>.png (preview image) in the configured directory.
Installation
Use r2modman for simpler installation.
- Install BepInEx into your On Together game folder
- Copy
AndrewLin.Chalky.dllintoBepInEx/plugins/ - Launch the game - the mod will load automatically and generate a config file at
BepInEx/config/com.andrewlin.ontogether.chalky.cfg
Building from Source
Requires .NET SDK and the game's managed DLLs referenced in the project.
dotnet build
Output DLL will be in Chalky/bin/.
CHANGELOG
Changelog
All notable changes to this project will be documented in this file.
[1.2.9] - 2026-06-15
Fixed
- Adapt to game update 1.1.3 - replaced fragile Traverse reflection calls (PaintPixel/RenderBatch) in RebuildRenderTexture with the game's own GetQuadImage_Original_1 method
- BroadcastToAllPlayers now skips self to avoid duplicate local repaint
[1.2.8] - 2026-04-27
Changed
- Host relay notification and log now include the board's network ID
[1.2.7] - 2026-04-12
Changed
- Dependency update to Alpha 0.0.11
[1.2.6] - 2026-04-12
Changed
- Depends on Alpha 0.0.10
[1.2.5] - 2026-04-11
Changed
- Depends on Alpha 0.0.8
[1.2.4] - 2026-04-01
Added
- Somehow 1.2.3 got removed from thunderstore
[1.2.3] - 2026-04-01
Added
EnableHostRelayconfig entry (defaulttrue) - controls whether the host relays board state to other players/chalkyhostrelay(/chr) - toggle host relay on/off at runtime
Removed
- Spoofing host feature and
/chalkyspoofhost(/csh) command
[1.2.0] - 2026-03-28
Added
/chalkyspoofhost(/csh) - toggle spoof host on/off at runtime (hidden from help listing)
[1.1.0] - 2026-03-27
Added
- Spoofing host feature (experimental)
Changed
- Fixed occassional host not found issue
[1.0.2] - 2026-03-25
Added
- Non-host clients can now load boards and broadcast to all players via host relay
- Board state is sent to the host, which relays to all other connected players
- Requires the host to also have Chalky installed
Changed
/chalkyloadboardno longer requires being the session host- Updated user-facing messages for non-host board loading
[1.0.0] - 2026-03-20
Removed
/chalkyshowcommand(/cshc) - use theShowCommandconfig entry instead
[0.0.4] - 2026-02-22
Removed
/help chalky(/h chalky) - use/chalkyhelp(/ch) instead
[0.0.3] - 2026-02-21
Added
- Any players can now save chalkboard state as JSON to their local pc with a name.
- Only hosts are allowed to load chalkboard from a JSON.
- Commands
/chalkygetboards(cgb) to list all saved boards/chalkysaveboard(csb) to save a specific/active board/chalkyloadboard(clb) to load a board
[0.0.2] - 2026-02-20
Changed
- Changes are now non-local, observers can see it too
Removed
- Disabled chalk size 1, smaller than 2x2 causes desync
- Disabled chalk colors, colors causes desync.
[0.0.1] - 2026-02-20
Added
- Configurable chalk brush size - paints a
size x sizegrid block per stroke instead of the default 2×2- Size 1 paints a single grid cell
- Size 2 (default) falls through to the original game logic unchanged
- Sizes > 2 use the expanded custom painting path
- Erase mode always uses original game logic regardless of configured size
- In-game chat command system - commands starting with
/are intercepted and never sent to other players /chalkysetsize [size](/css) - set brush size at runtime; omit argument to reset to default/chalkytoggle(/ct) - toggle all mod features on/off at runtime/chalkyshowcommand(/fsc) - toggle whether typed commands are echoed in the chat history/chalkyhelp(/fh) - list all available commands in chat/help chalky(/h chalky) - same as above via the shared help commandEnableFeatureconfig entry (default:true) - persisted toggle for mod featuresShowCommandconfig entry (default:false) - persisted toggle for command echo