Skip to content

Options

Yakuda edited this page Aug 10, 2026 · 1 revision

Options

Everything on the Options page, with its default. Config keys are given so a setting can be found in config.json.


OSC output

The connection to VRChat. This is the only part that must be right for anything to appear in the game.

Setting Key Default What it does
Send to VRChat send_to_vrchat off Master switch. Off means nothing is sent at all
Target IP osc_ip 127.0.0.1 Where VRChat is listening
Target port osc_port 9000 VRChat's OSC input port
Send interval interval_sec 5 sec How often the assembled message goes out
Instant send osc_instant_send on Push a changed message immediately instead of waiting for the next tick
Slim chatbox slim_chatbox on Narrow bar instead of the big box

Instant send always stays inside VRChat's rate limit; a message that would be too soon is postponed, not dropped.

Slim chatbox appends an invisible control suffix that makes VRChat render the narrow bar. The suffix always stays at the end — if the text is too long, the text is trimmed rather than the suffix dropped, otherwise the big box would suddenly come back.


OSCQuery

Setting Key Default What it does
Native OSCQuery oscquery_enabled on Advertise the app over mDNS so VRChat finds it automatically

With OSCQuery on, VRChat negotiates the ports itself and the fixed port numbers above stop mattering. Requires zeroconf; the toggle is disabled when it is missing.


OSC input

Receiving, rather than sending. Needed by the Avatar parameter and External OSC blocks in Advanced Mode.

Setting Key Default What it does
Receive avatar parameters osc_input_enabled off Bind a port and listen
Port osc_input_port 9001 VRChat's default output port
External OSC target IP osc_ext_ip 127.0.0.1 Default target for the External OSC out block
External OSC target port osc_ext_port 9002 same

Off by default because it binds a UDP port, and 9001 is contested territory — other OSC tools want it too. A port that is already taken is explained in the status line rather than crashed on.

The external target is kept separate from the VRChat target on purpose: pointing one somewhere else must not be able to break the chatbox.


Keyboard

Setting Key Default What it does
Watch the keyboard hotkey_input_enabled off Lets the Get Hotkey block react to a combination pressed anywhere

It watches which keys are down and never swallows them or records what you type — but it is still the keyboard, so it stays off until switched on.

  • Windows: a low-level hook, nothing to install.
  • Linux: reads /dev/input through python-evdev, which usually means your user has to be in the input group:
sudo usermod -aG input $USER
# log out and back in

Appearance

Setting Key Default What it does
Theme theme default One of eight presets
Colour overrides theme_colors (none) Per-theme, per-token colour
Background image theme_background (none) A file from config/backgrounds/
Card opacity theme_opacity 0.82 How transparent cards are over a background

Themes: default, carbon, nebula, embers, grass, ocean, rose, mono.

Ten colour tokens can be overridden individually per theme: bg, panel, card, inner, border, accent, accent_hi, text, dim, danger. An override that is not a valid #rrggbb value is ignored rather than breaking the whole stylesheet.


Diagnostics

Setting Key Default What it does
Debug debug off Verbose console output, including plugin logs

Settings that live elsewhere

Not everything is on the Options page. For completeness:

Apps page

Setting Key Default
Personal Status active status_active on
Status texts / count / cycle status_texts, status_count, status_cycle_sec 20 slots, 1, 10 sec
Status template status_template_active 1
MediaPlay active media_active off
MediaPlay poll interval media_poll_sec 1 sec
Hardware active hw_active off
Hardware poll interval hw_poll_sec 2 sec
FPS via MangoHud hw_fps, hw_mangohud_dir off
Custom Box active box_active off
All in one active aio_active off
All in one mode aio_mode normal
Number of strings aio_count 1
Rotate strings aio_rotate, aio_rotate_sec off, 10 sec
App order app_order status, media, hardware

Textbox page

Setting Key Default
Pause apps after sending textbox_pause_sec 10 sec
Number of presets textbox_preset_count 5
Card order textbox_order chat, stt, presets
Spoken language stt_language de-DE
Target language stt_output (none — no translation)
Translation backend stt_method Lingva
Microphone stt_mic system default
Strict microphone stt_mic_strict on
Send as stt_send_mode Standard
Position (Line mode) chat_anchor above All in one
Keep for chat_hold_sec 0 (until replaced)
Show original + translation stt_show_both off
Say when translating stt_translate_notice on
Translation notice text stt_translate_notice_text Translate …
Block apps stt_block off
... also block plugins stt_block_plugins on
... also block the box stt_block_box on

The config file

~/.config/OSC-DreamChatbox/config.json

Plain JSON, safe to read and to edit while the app is closed. A corrupt file is backed up rather than overwritten, so nothing is lost silently.

Unknown keys are kept, so downgrading does not delete settings made in a newer version.

OSC-DreamChatbox · GPL-3.0-or-later · github.com/yakuda-stack/OSC-DreamChatbox

Clone this wiki locally