Source code on GitHub | Report an issue | Thunderstore
A BepInEx mod for On Together that shows how far your local text chat reaches.
♥ Enjoying the mod? Leave a like on Thunderstore and a ⭐ on GitHub — it helps the project grow!
Local messages are only delivered to players within 5 m of you. This mod draws that area on the ground around your character and puts a ring under every player who will receive your local messages, so you know who can read you before you hit Enter.
The range side button opens/closes settings. Tabs: General, Range, Appearance, Quality. Quality options collapse. Color fields accept #RRGGBB or #RRGGBBAA and show a swatch with its alpha. F8 and /chatrange still toggle the area.
Cream panels, warm brown text, coral accents, rounded controls and game fonts. Side buttons align with the game's right-hand controls and extend beyond the right edge of the screen. They use the game's fill, outline and spacing, with proportionate icons and mod-name/hotkey hints. The group stays on the right, avoids open panels and hides until safe space becomes available. Existing hotkeys, commands and configuration keys are preserved. Menus scroll on smaller screens; changes save automatically. Where shown, Apply saves a field draft. Invalid values keep the saved setting.
- The area is drawn on the surface around your character: it follows slopes, stairs, terraces and drops.
- The shape matches the game's own check exactly. The game measures a straight 3D distance, so the area shrinks on hills and in front of drops, and continues through walls (players behind a thin wall still receive local messages).
- Green rings under the players in range (the same distance test the game runs on their side).
- The radius is read from the game code at startup, so the mod stays correct if a game update changes it.
- Three visibility modes: always, only on the Local chat tab, or only while you type in the Local tab.
- Purely client-side: nothing is sent to other players and nothing about the game rules changes.
| Action | How |
|---|---|
| Show / hide the area | F8 (configurable), or type /chatrange |
| Turn on / off | /chatrange on, /chatrange off |
| Choose when it is drawn | /chatrange mode always | local | typing |
| Rings under players in range | /chatrange players on | off |
| Current state | /chatrange status |
| Command list | /chatrange help |
/lcr is a short alias for /chatrange. Commands are handled on your side and are never posted to the chat. If CommandAPI is installed, the command is also listed by its /help and suggested by CommandTypeahead.
BepInEx/config/ontogether.localchatrange.cfg (created on first launch; editable from the mod manager's Config editor).
| Section | Key | Default | Description |
|---|---|---|---|
| General | Enabled |
true |
Show the area. |
| General | ToggleKey |
F8 |
Show/hide hotkey (ignored while typing). |
| General | VisibilityMode |
Always |
Always, LocalTabOnly, WhileTypingLocal. |
| General | HighlightPlayersInRange |
true |
Rings under players who receive your local messages. |
| Range | AutoDetectRadius |
true |
Read the distance from the game code. |
| Range | Radius |
5 |
Distance used if auto-detection is off or fails. |
| Appearance | FillColor |
8CD9FF1F |
Area colour, RRGGBBAA. |
| Appearance | OutlineColor |
8CD9FFE6 |
Edge colour, RRGGBBAA. |
| Appearance | OutlineWidth |
0.08 |
Edge width in metres. |
| Appearance | OutlineOnTop |
false |
Draw the edge over walls and furniture. |
| Appearance | PlayerMarkerColor |
8CFF8CE6 |
Ring colour for players in range. |
| Quality | Segments |
64 |
Points around the circle. |
| Quality | Rings |
8 |
Surface samples from the centre to the edge; raise it to follow stairs more closely. |
| Quality | EdgeRefineSteps |
4 |
Extra samples that place the edge precisely. |
| Quality | UpdateInterval |
0.05 |
Seconds between surface re-samples while moving. |
| Quality | MaxStepUp |
2 |
Surfaces higher than this above your feet (ceilings, upper floors) are ignored. |
| Quality | SurfaceOffset |
0.03 |
Lift above the surface to avoid flickering. |
When a local message arrives, the game drops it if the distance between the sender's position (at the moment of sending) and the receiver's position is greater than 5 m. Both the chat panel and the speech bubble use this check. The mod draws every surface point a standing player could occupy within that distance of you, and checks other players with the very same test.
Only the floor you are on is drawn: a player on a balcony right above you may also be within 5 m, but surfaces more than MaxStepUp above your feet are not drawn.
Thunderstore Mod Manager / r2modman: install from the mod list, or use Settings -> Import local mod with the package zip.
Manual: install BepInExPack and copy LocalChatRange.dll into BepInEx/plugins/.
♥ Нравится мод? Поставьте лайк на Thunderstore и ⭐ звезду на GitHub — это помогает проекту расти!
Меню открывает и закрывает боковая кнопка радиуса. Вкладки: Общее, Радиус, Вид, Качество. Параметры качества сворачиваются. Цвет задаётся как #RRGGBB или #RRGGBBAA; образец показывает прозрачность. F8 и /chatrange по-прежнему переключают область.
Кремовые панели, коричневый текст, коралловые акценты и скруглённые элементы. Боковые кнопки выровнены с игровыми справа и продолжаются за правый край экрана. Они используют игровые заливку, обводку и интервалы; значки сохраняют пропорции, а при наведении видны название мода и клавиша настроек. Группа остаётся справа, избегает открытых панелей и скрывается, пока не появится свободное место. Настройки и прежние клавиши сохранены. Низкие окна прокручиваются, изменения сохраняются автоматически; кнопка «Применить», где она есть, сохраняет введённое значение.
Мод показывает зону действия локального текстового чата (5 м): область рисуется на поверхности вокруг персонажа и повторяет рельеф, а под игроками, которые получат ваше локальное сообщение, появляются зелёные кольца.
- F8 или
/chatrange— показать/скрыть область;/chatrange on|off. /chatrange mode always|local|typing— показывать всегда, только на вкладке Local или только пока вы печатаете во вкладке Local./chatrange players on|off— кольца под игроками в радиусе;/chatrange status— текущее состояние.- Радиус считывается из кода игры при запуске; настройки — в
BepInEx/config/ontogether.localchatrange.cfg.
Requires Windows, .NET SDK 6.0 or newer, an installed copy of On Together, and BepInEx 5 (for example, a Thunderstore Mod Manager / r2modman profile).
From the repository directory, run:
powershell -ExecutionPolicy Bypass -File .\build.ps1 -GameDir "C:\path\to\On-Together" -BepInExCore "C:\path\to\profile\BepInEx\core"GameDir must contain OnTogether.exe and OnTogether_Data\Managed. BepInExCore must contain BepInEx.dll and 0Harmony.dll. Game and BepInEx assemblies are referenced locally and are not distributed in this repository.
The build creates the plugin DLL in src/bin/Release/ and the installable Thunderstore archive in dist/. Ready-to-install archives are also available in GitHub Releases.
Side settings buttons match the game's right-hand controls: the same height, left edge, spacing, native fill and brown outline. Their right ends extend beyond the screen; icons keep their proportions. They hide with the native controls in Desktop mode, including tooltips and pointer hit areas.
Боковые кнопки настроек повторяют игровые справа: одинаковые высота, левый край, интервалы, заливка и коричневая обводка. Правые концы уходят за экран; значки сохраняют пропорции. В Desktop-режиме кнопки скрываются вместе с игровыми; подсказки и области нажатия также отключаются.
