SimpleVirtualAvatar is a lightweight, cross-platform desktop application designed to render reactive 2D avatars. It tracks your system audio in real-time to animate an avatar based on volume thresholds, making it perfect for streamers and content creators who want a simple, high-performance alternative to complex VTubing software.
- Real-time Audio Reactivity: Avatar states change dynamically based on microphone or system volume.
- Cross-Platform Support: Native performance on Windows (Win32/DWM), Linux (X11), and macOS (AppKit).
- Ultra-Lightweight: Built with C++20 and Raylib for minimal CPU/GPU footprint.
- Transparent Windowing: Support for transparent backgrounds to overlay the avatar on other apps or streams.
- Modern UI: Sleek sidebar and state-tracking badge system for easy configuration.
The avatar transitions between three distinct states based on the detected volume level:
| Animation | Volume Threshold | Description |
|---|---|---|
| Idle | 0.0 - 0.2 | Static or breathing animation when silent. |
| Talk | 0.2 - 0.7 | Active talking animation. |
| Scream | 0.7 - 1.0 | High-volume reactive state. |
| Component | Technology |
|---|---|
| Language | C++20 |
| Graphics | Raylib |
| Audio | miniAudio |
| Build System | CMake 3.31+ / CPM[cite: 1] |
| UI | Custom Modular UI system |
- CMake 3.31 or later
- Git
- C++20 Compliant Compiler:
- Windows: Visual Studio 2022 (MSVC) or MinGW-w64 (GCC 11+)
- Linux: GCC or Clang
- macOS: Xcode Command Line Tools (Clang)
git clone https://github.com/Xviizyk/SimpleVirtualAvatar.git
cd SimpleVirtualAvatarNote: Dependencies like raylib and miniaudio are handled automatically via CPM during the build process[cite: 1, 2].
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Releasemkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build . -j$(nproc)Windows: build\Release\SimpleVirtualAvatar.exe
Linux/macOS: ./build/SimpleVirtualAvatar
On the first launch, the application creates a config.json and folders for assets/ and shaders/ in your platform's local application data directory:
- Windows:
%APPDATA%/SimpleVirtualAvatar - Linux/macOS:
~/.config/SimpleVirtualAvatar
You can customize audio thresholds, shake effects, and file paths directly in the configuration file.
Toggle advanced features via CMake flags:
-DENABLE_TRACY=ON: Enable integration with the Tracy Profiler (development only).-DCROSS_COMPILE_ARM64=ON: Optimize for ARM64 architectures.
Distributed under the MIT License. See LICENSE for more information.
Copyright (c) 2026 Xviizyk
- Contributing: No.
- Support: For issues, questions, or suggestions, please don't send them.
Sorry for my English, it’s not my native language.