A small desktop GUI for VRChat's avatar scaling OSC endpoints. Drag a slider, see your eye height update live, and get warnings when you ask for something the world or avatar won't allow.
- Weighted logarithmic slider for VRChat's full 0.01 m – 10 000 m range, tuned for finer control in the supported 0.1 m – 100 m range.
- Custom reset default saved locally, because VRChat OSC does not expose an avatar's original eye height.
- Live readouts of every scaling endpoint VRChat exposes:
/avatar/eyeheight/avatar/eyeheightmin/avatar/eyeheightmax/avatar/eyeheightscalingallowed
- Warnings when:
- the world or Udon has disabled scaling (writes will be ignored),
- the requested height is outside VRChat's officially supported 0.1 m – 100 m range,
- the requested height is outside custom world/Udon-configured min/max.
- OSCQuery integration so VRChat actively pushes current values on connect — readouts populate without waiting for an avatar change.
- The prebuilt EXE requires Windows; the Python source also runs on Linux where Tk is available
- Python 3.10+ if running from source
- Tk 8.6 if running from source (this is an OS package on Linux, not a pip package)
- VRChat with OSC enabled — Action Menu → Options → OSC → Enabled
Grab QuickVRCScaler.exe from the latest Release and double-click it. No install required.
Install Python, Tk, and git using your system package manager first. For example:
# Arch Linux / CachyOS
sudo pacman -S python tk git
# Debian / Ubuntu
sudo apt install python3 python3-venv python3-tk git
# Fedora
sudo dnf install python3 python3-tkinter gitThen create a virtual environment and install the Python dependencies:
git clone https://github.com/dtupper/QuickVRCScaler
cd QuickVRCScaler
python -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
python quickvrcscaler.pytinyoscquery is pulled directly from GitHub, so git must be on your PATH at install time.
Tkinter uses the system Tk libraries and therefore cannot be installed through
requirements.txt. If importing tkinter reports a missing libtk8.6.so on
Arch Linux or CachyOS, install the tk package with sudo pacman -S tk.
- Launch VRChat with OSC enabled.
- Launch QuickVRCScaler.
- Drag the slider, type a value, or use Reset. The avatar's eye height updates live.
- Refresh forces a re-poll of the read-only endpoints (min/max/allowed) via OSCQuery.
Use the reset button's menu to save the current height as your local default.
The app sends to 127.0.0.1:9000 and listens on 127.0.0.1:9001 — VRChat's standard OSC ports.
Run the tests:
python -m unittest discover -s tests -vBuild a single-file EXE locally (matches what CI produces):
pip install pyinstaller
pyinstaller --onefile --windowed --name QuickVRCScaler \
--collect-all zeroconf --collect-all tinyoscquery \
quickvrcscaler.pyThe result lands in dist/QuickVRCScaler.exe.
Pushing a v* tag (e.g. git tag v0.1.0 && git push --tags) triggers CI to run tests, build the EXE, and attach it to a GitHub Release.
MIT