RealTimeHeadChat
Displays physical keyboard typing above a player's head in real time for other modded BONELAB Fusion players.
By Dr_House
CHANGELOG
Changelog
1.5.0
- Stable release restoring the original 1.4.1 Fusion
RigNameTagappearance and automatic stacking above usernames. - Fixed gradual text-size growth and shrinkage by resetting the chat nametag object's local scale to
1,1,1during normal updates and again after Unity's animation/layout pass. - Uses one clean canonical font baseline, rather than treating an already-resized pooled text object as the new default.
- Explicitly reapplies the one-, two-, or three-line font size and disables TextMeshPro auto-sizing.
- Detects when Fusion replaces a pooled text object and initializes the replacement from the clean baseline.
- Restores the clean font and object scale before returning a chat nametag to Fusion's pool.
- Fusion's parent HeadUI remains responsible for the intended avatar-height scaling.
- Retains Fusion's native nametag rendering rather than using a separate world-space canvas.
- Retains multi-line wrapping, emoji, clipboard paste, VR HUD placement, input controls, and host relay fixes.
1.4.3
- Fixed overhead text still drifting larger or smaller in steps over a session. The 1.4.2 fix only guarded against recomputing size on the same text object; it did not account for Fusion's nametag text being pulled from a pooled GameObject that is not reset between uses.
- The base font size is now captured once, globally, from the first untouched nametag component this mod ever sees, instead of being re-derived from a live component after every bubble respawn (which could pick up a size this mod itself had already scaled down or up for a different bubble).
1.4.2
- Fixed overhead text unpredictably growing or repeatedly shrinking.
- Disabled TextMeshPro auto-sizing on custom head-chat bubbles.
- Sizes for one-, two-, and three-line bubbles now derive deterministically from Fusion's configured maximum nametag font size.
- Detects when avatar changes recreate the pooled text object and cleanly reinitializes its font state without compounding prior sizes.
- Preserves Fusion's intended whole-layout scaling based on avatar height.
1.4.1
- Replaced the positive Capture Keyboard Input label with the clearer Disable Text Input BoneMenu toggle.
- Kept F2 and Page Up synchronized with the same persistent setting.
1.4.0
- Added a persistent Capture Keyboard Input BoneMenu option.
- Added F2 and Page Up hotkeys for toggling input capture during flatscreen play.
- Disabling capture clears the player's current outgoing text while preserving incoming head chat and the rest of the mod.
- The local HUD now indicates when keyboard capture is disabled.
1.3.3
- Added Unicode emoji-safe typing, clipboard paste, networking, and display.
- Character limits and overhead wrapping now count complete Unicode text elements instead of UTF-16 code units.
- Backspace removes a complete emoji or joined sequence instead of corrupting it.
- Increased the validated UTF-8 payload allowance for complex joined emoji.
1.3.2
- Added a third overhead-text line for messages longer than 120 characters.
- Balanced two- and three-line splits around word boundaries.
- Three-line overhead text uses a slightly smaller font to reduce its width.
- Fixed Ctrl+V detection by supporting both Unity's legacy input and BONELAB's newer Input System.
- The local VR preview remains unchanged.
1.3.1
- Added Ctrl+V clipboard paste support.
- Pasted text is sanitized and appended to the current message without exceeding the 160-character limit.
1.3.0
- Added two-line display support for every player's head-chat text.
- Text longer than 80 characters now wraps onto a second line.
- Long overhead text uses a slightly smaller font to prevent excessive horizontal stretching; the local VR HUD preview is unchanged.
1.2.1
- Fixed hosts running the mod blocking every client-originated chat update.
- Worked around LabFusion 1.14.2 dropping the authenticated sender ID from custom module messages during pre-relay validation.
- Added targeted host-local delivery using the authenticated outer message sender while preserving normal relay to all other clients.
1.2.0
- Added a VR HUD Placement BoneMenu submenu.
- Added live horizontal, vertical, and headset-distance controls displayed in centimeters and converted to Unity meters internally.
- Placement persists through MelonPreferences.
- Added a reset button for restoring the default HUD position.
1.1.4
- Fixed hosts not seeing head-chat updates sent by remote clients.
- Added explicit local delivery for validated client messages at Fusion's server-side relay point while preserving normal relay to other clients.
1.1.3
- Fixed client-originated head-chat updates failing to reach other players in lobbies with multiple users.
- Changed typing synchronization to Fusion's reliable all-client relay route.
- Local-owner filtering still prevents a sender from creating a redundant remote bubble for themselves.
1.1.2
- Renamed the ambiguous Enabled option to Head Chat Enabled.
- Renamed the local preview option to Show VR HUD and clarified that it does not disable typing or broadcasting.
- Updated the in-game help text to explain both controls.
1.1.1
- Replaced the desktop-only IMGUI preview with a world-space HUD anchored to the local headset, allowing it to render inside VR.
- Refined the near-vision HUD size and placement for a less intrusive view.
- Added a default-on BoneMenu toggle that hides the local typing HUD without disabling chat transmission.
1.1.0
- Added an always-visible, client-only lower-left HUD preview.
- The preview displays the exact text currently being broadcast above the local player's head and shows a subtle prompt while empty.
1.0.0
- Initial release.
- Added enabled-by-default physical keyboard capture during Fusion sessions.
- Added real-time, avatar-attached overhead text for players running the mod.
- Added Backspace editing, Enter-to-clear, and automatic idle clearing.
- Added rate limiting, message length limits, input sanitization, and stale-text cleanup.
- Added persistent BoneMenu enable setting and manual clear control.