Skip to content

Repository files navigation

image

MagicChatBox

Your VRChat chatbox, but alive.

Show the song you are playing, the lyrics as they happen, your heart rate, your world,
your GPU temperature, your stream — all in one line, all customisable, all optional.


Version Total Downloads Stars Discord .NET 10


Download Documentation Discord VirusTotal


🪄 What it looks like in-game

VRChat gives you a 144-character chatbox above your head. You pick which integrations fill it, and MagicChatBox assembles them into one line.

Here is the same chatbox with four different setups — the toggles on the left, what VRChat shows on the right:


🎵  Music Display  +  Lyrics

▶ Ado — Show ♥        ♪ 世界中の誰よりきっと

The track you're playing, and the lyric line as it's sung.


📡  VRChat Radar  +  Heart Rate  +  Time  +  Weather

👑 🌎 The Great Pug | 👥 24/40 | friends+ US-West     ♥ 82 bpm     21:41 CEST 🌧 14°C

Where you are, how full it is, your pulse, and your local time and weather.


🖥️  Component Stats  +  Network  +  Tracker Battery

CPU 34% ¦ GPU 62°C ¦ RAM 41%      ↓ 842 Mbps      🔋 HMD 62% · L 41% · R 88%

Your rig at a glance — and a warning before a tracker dies mid-session.


💭  Personal Status  +  Window Activity  +  Soundpad

💭 back in 5       On desktop ⁱⁿ Blender       🎶 'airhorn.mp3'

Your own message, what you're busy with, and the sound you just played.


Tip

Mix and match freely. Every integration is an independent toggle, and each one has separate VR and Desktop switches — so your chatbox can show your specs at your desk and your heart rate in the headset, automatically.

Run out of room? MagicChatBox doesn't cut your text off mid-word. It drops the least important pieces first — the queue, then the volume, then the device — and keeps the things you actually care about, like the song title.


⚙️ How it works

New to this? It's four steps, and MagicChatBox does three of them.

1 It watches things on your PC.
Your music player, your heart rate monitor, your GPU sensors, VRChat's own log file — whichever ones you switch on.
2 It builds one line of text.
Everything enabled gets combined, in the order you choose, trimmed to fit VRChat's 144-character limit.
3 It sends that line to VRChat over OSC.
OSC is just a simple messaging system that VRChat already supports — you only have to switch it on once, in VRChat's settings.
4 You do this part: turn OSC on in VRChat. That's it — the chatbox above your head starts filling in.
flowchart LR
    S["🎵 Your music"] --> M
    P["🩵 Your heart rate"] --> M
    L["📡 VRChat log"] --> M
    H["🖥️ PC sensors"] --> M
    T["🟣 Twitch · TikTok · Discord"] --> M

    M["✨ MagicChatBox<br/>builds one 144-character line"]

    M -->|"sends over OSC"| V["💬 The chatbox above your head"]
    M -->|"sends numbers"| A["🧍 Your avatar reacts"]

    style M fill:#512BD4,stroke:#B96BFF,color:#ffffff
    style V fill:#2A1650,stroke:#6E9BFF,color:#ffffff
    style A fill:#2A1650,stroke:#FF6FC7,color:#ffffff
Loading

🧍 The second arrow: your avatar can react

The same connection can send numbers to your avatar instead of text. If your avatar is set up for it, your heart rate can drive a blush that deepens as your pulse rises, or a heart that beats in time with the real thing.

You don't need this to use MagicChatBox — the chatbox works on its own. But if you build avatars, it's there. See the Heart Rate guide for the full list of values you can hook up.


image
1️⃣Download the official ZIP from Releases
2️⃣Install the .NET 10 Desktop Runtime (Windows x64) from Microsoft — pick Desktop Runtime, the plain ".NET Runtime" is not enough
3️⃣Extract the ZIP into a folder
4️⃣Run MagicChatBox.exe
5️⃣You're good to go!

Important

You NEED to ENABLE OSC inside VRChat in order to have the program working!
Open your action menu with ROptionsOSCEnabled.

Tip

No headset? MagicChatBox works in desktop mode too — and it can run on a spare PC and send to a Quest over your network with Standalone setup.

Important

We highly recommend reading our Terms of Service before you download or use MagicChatBox.
It doesn't take long to get through the essential points, but it's important to understand how we value and protect your privacy, as well as the rules for using our software.


image

Every name below links to a full guide covering all of its settings.

🎵  Audio  — what you're listening to, and what you're playing

Integration What it does
🎼 Music Display Shows whatever is playing on your PC — Spotify, YouTube, browsers, local players. No account needed.
Spotify Connects to Spotify directly for liked tracks, explicit flags, shuffle, repeat, device, volume and queue, with a template you write yourself.
Lyrics Synced lyrics that follow the music, line by line, from LRCLIB or your own .lrc files.
Soundpad Shows the sound you just played through Soundpad.
Voicemod Your Voicemod soundboard on the Integrations page — fire a sound, switch voice, mute or hold-to-bleep without leaving VR, and show the room what you played.

🙋  You  — status, presence and vitals

Integration What it does
📐 Personal Status Your own messages, cycled automatically, with AFK detection when you stop moving.
🪟 Window Activity Shows whether you are in VR or on desktop, and which app you are focused on — with per-app privacy.
🩵 Heart Rate Live heart rate via Pulsoid, with statistics, trends and OSC parameters your avatar can react to.
Time Your local time and time zone — the most-asked question in any international instance.
Weather Current conditions, humidity, wind and feels-like, sitting neatly next to the time.

🖥️  Hardware & VR  — your rig, at a glance

Integration What it does
Component Stats CPU, GPU, RAM and VRAM — usage, temperature, wattage, clocks and fan speed.
Network Statistics Live download and upload rates, peaks, totals and utilisation.
VR Performance Frame rate, reprojection, dropped frames and GPU headroom from SteamVR — quiet until something goes wrong.
Tracker Battery Battery levels for your headset, controllers and full-body trackers, before one of them dies.
VRChat Radar World, instance, joins, leaves, screenshots and session stats, read from VRChat's own log.

💬  Social & streaming  — bring your audience in-world

Integration What it does
Discord Your voice channel and who is talking — plus Rich Presence showing your VRChat world on Discord.
Twitch Live status, viewers, category and followers, with announcements and shoutouts you can send from VR.
TikTok Live Follower counts, and live follows, gifts and milestones as they happen.

✨  More than integrations  — click to expand

Feature What it does
Chatbox & Chatting Type straight into the VRChat chatbox, with live edit, autocomplete and history.
TTS & Voice Speak your messages out loud, or dictate them with speech-to-text.
IntelliChat AI spelling, translation and shortening — for when your message will not fit in 144 characters.
Standalone Run it on a spare PC and send to a Quest over your network, no PCVR required.
App Options OSC ports, extra outputs, startup behaviour and global preferences.

Important

Heart Rate requires an official Pulsoid Member subscription.
MagicChatBox users get 15% off the Pulsoid BRO Plan.


🔐 Your data stays yours

MagicChatBox never quietly starts reading things. To show your GPU temperature it has to read your sensors; to show your music it has to read what Windows is playing. So it asks first — and it asks for one specific thing at a time, not blanket access.

How the permission prompt works

1 You switch on an integration — say Component Stats.
2 MagicChatBox asks for the one permission it needs, by name: 🖥️ Hardware Monitor. Not "access to your computer" — just that.
3 Approve and the integration starts. Decline and it switches itself back off, rather than running half-broken or asking again every launch.
4 Changed your mind? Options → Privacy lists every permission you've granted, and revoking one stops whatever depends on it.

What each permission covers

Permission Used by
🖥️ Hardware Monitor Component Stats
📋 Window Activity Window Activity
🎵 Media Session Music Display
💤 AFK Sensor Personal Status
🎮 VR Tracker Battery Tracker Battery
🎯 VR Performance VR Performance
📶 Network Statistics Network Statistics
🔊 Soundpad Bridge Soundpad
🎙️ Voicemod Control Voicemod
📡 VRChat Log Reader VRChat Radar
🌐 Internet Access Spotify · Twitch · TikTok · Heart Rate · Lyrics · Weather

Most of it never leaves your PC

🏠 Stays local 🌐 Uses the network
Hardware sensors · Window titles · VRChat log
Media state · VR device batteries · Soundpad · Voicemod
Spotify · Twitch · TikTok
Pulsoid · Lyrics · Weather

Only 🌐 Internet Access involves the network at all — and each integration that has it only ever contacts its own service. Spotify talks to Spotify; Lyrics talks to LRCLIB. Nothing is pooled, and nothing is sent anywhere else.

Note

Two are worth a moment's thought before you enable them in a public instance. Window Activity reads window titles, which often contain document names or video titles — so it has per-app privacy settings and content filters. VRChat Radar reads who joins and leaves your instance; it stays on your PC, but it is other people's presence.

Read the full permissions breakdown →


image

Note

Our support team is here to assist you with any issues!

SUPPORT


📚 Additional Resources

📖 Documentation Guides for every integration and setting
FAQ Frequently asked questions and answers
💬 Contact Create a support ticket on Discord
👥 Staff Meet the team behind MagicChatBox
Rating Our user ratings
💜 Funding Our community's advocates

Building with Voicemod Control

Voicemod's Control API needs a client key, which you request from Voicemod through their form. There are two ways to supply one.

In the app. Open Options → Voicemod → Client key, paste the key and save it. It is stored with Windows DPAPI for your Windows user only, and it takes priority over any key baked into the build. This is the path for anyone running a build from source, and it needs no rebuild.

At build time. Pass the key as an MSBuild property so it is embedded as assembly metadata:

dotnet publish vrcosc-magicchatbox\MagicChatbox.csproj -c Release -r win-x64 --self-contained false -p:VoicemodClientKey=YOUR_KEY

Official releases do this from a repository secret named VOICEMOD_CLIENT_KEY, so the key never reaches source control. Builds without a key still work — Voicemod control simply reports that no key is configured until one is saved in Options.


Legal Notice

Important

Legal Notice
MagicChatBox is released under a custom, source‑available proprietary license. Please review the following legal documents for important information regarding the use, modification, and distribution of MagicChatBox:

  • Software License Agreement (SLA)
    This agreement outlines the rights and restrictions for modifying, redistributing, or creating derivative works of MagicChatBox. Any modifications or forks must include this SLA and the accompanying Terms of Service.

  • Terms of Service (TOS)
    These terms govern your conduct and usage of MagicChatBox. By running the software, you agree to abide by these Terms, which help maintain a respectful, safe, and lawful user experience.

By using MagicChatBox, you confirm that you have read, understood, and agree to be bound by these legal documents. If you do not agree, you are not permitted to use the software.


Thank you for choosing MagicChatBox – we hope it enhances your VRChat experience!

Made with 💜 by BoiHanny and the MagicChatBox community

About

The ultimate companion, whether you're on desktop or in VR, we've got you covered with our handy integrations in a compact and modern UI

Topics

Resources

Security policy

Stars

271 stars

Watchers

10 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages