Skip to content

ComfyChloe/ARC-Client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ARC-OSC Client

The transparent, feature-rich desktop bridge for VRChat remote control

Version Electron License Status

Seamlessly bridge VRChat OSC with the ARC, privacy-first, open-source, and fully transparent.


Features โ€ข Installation โ€ข Configuration โ€ข Gallery โ€ข Documentation


๐Ÿ“‹ About

ARC-OSC Client is a standalone Electron desktop application that serves as the bridge between VRChat and the ARC-OSC server. It enables real-time avatar parameter synchronization, heart rate streaming and VRChat API integration

๐Ÿ”’ Transparency First: This client's source code is public to ensure users know exactly what they're running. Privacy matters.


โœจ Features

๐ŸŒ ARC WebSocket Bridge

Connect seamlessly to the ARC-OSC server infrastructure. Authenticate with your credentials and enjoy real-time bidirectional synchronization of avatar parameters between VRChat and the web dashboard.

  • Secure authentication with username/password
  • Automatic reconnection handling
  • Support for Live, Beta, and custom server URLs
  • Real-time parameter sync
๐Ÿ“ธ Preview

Screenshot placeholder: ARC Connection Panel

๐Ÿ“ก Multi-Connection OSC

Manage up to 20 simultaneous OSC endpoints for complex setups. Perfect for advanced users running multiple applications that need OSC data.

  • Add/remove endpoints dynamically
  • Configure incoming and outgoing ports independently
  • Per-connection enable/disable controls
  • Visual connection status indicators
๐Ÿ“ธ Preview OSC Multi-Connection Panel

๐Ÿ” OSC-Query Discovery

Leverage automatic service discovery via mDNS/Bonjour to find and connect to OSC-compatible applications on your network. VRChat's OSC Query protocol is fully supported.

  • Auto-discover services on your local network
  • Subscribe to specific parameter paths
  • Per-path ignore controls for filtering unwanted data
  • Persistent discovery across sessions
๐Ÿ“ธ Preview

Screenshot placeholder: OSC-Query Discovery Panel

๐Ÿ“Š Live Parameter Monitor

Watch your avatar parameters update in real-time with a comprehensive monitoring view. Debug OSC traffic, verify parameter values, and troubleshoot issues with ease.

  • Real-time parameter value display
  • OSC traffic logging with timestamps
  • Filter and search functionality
  • Export logs for debugging
๐Ÿ“ธ Preview Logs and Parameter Monitor

๐Ÿ’“ HypeRate Integration

Stream your heart rate directly into VRChat avatar parameters using HypeRate devices. Supports multiple tracker IDs for multi-user setups or backup devices.

  • Connect via HypeRate WebSocket API
  • Multi-tracker support with primary selection
  • Custom tracker naming
  • Auto-reconnection on connection loss
  • Real-time heart rate display
๐Ÿ“ธ Preview HypeRate Integration Panel

๐ŸŽฎ VRChat API Integration

Optional VRChat API login for enhanced features. Access your friends list, current instance information, and more โ€” with full 2FA support.

  • Auto-Login
  • Auto-Inviter (Future releases)
  • Auto-Status (Future releases)
๐Ÿ“ธ Preview

Screenshot placeholder: VRChat API Panel

๐Ÿฆฎ OSC Leash Tools

Transform PhysBone leash inputs into VRChat movement controls. Get pulled around by your friends with configurable sensitivity, dead zones, and directional mapping.

  • Directional Control: Forward, backward, left, right, up, down
  • Movement Modes: Walk and run with configurable thresholds
  • Fine-tuning Options:
    • Run/Walk dead zones
    • Strength multiplier
    • Up/down compensation
    • Active/inactive update delays
  • Multi-leash Support: Configure multiple PhysBone parameters
  • Autostart Option: Begin leash control on app launch
๐Ÿ“ธ Preview OSC Leash Configuration

๐ŸŽฎ OSCGoesBrrr - Haptic Device Integration

Connect Bluetooth haptic devices (via Buttplug.io/Intiface Central) to your VRChat avatar for immersive tactile feedback. Control toy vibration based on avatar contacts and penetration depth.

  • Real-time Haptic Feedback: Responds to VRCFury Haptics and TPS penetration systems
  • Multi-Device Support: Configure multiple toys independently with per-device settings
  • Flexible Source Filtering:
    • Touch (self/others)
    • Penetration (self/others)
    • Frot (others)
  • Advanced Control Options:
    • Depth-based or Motion-based vibration modes
    • Intensity multiplier (0.1x - 2.0x)
    • Idle vibration baseline
    • Per-device source filtering
  • Device Management:
    • Battery level monitoring
    • Real-time activity display
    • Device configuration
  • Intiface Central Integration: Connect via WebSocket to Intiface Central server
๐Ÿ“ธ Preview

Screenshot placeholder: OSCGoesBrrr Panel showing connected devices and configuration

๐Ÿ’ฌ Feedback System

Built-in feedback system to communicate directly with the development team. Submit bug reports, feature requests, or general feedback without leaving the app.

๐Ÿ“ธ Preview Feedback System

๐Ÿš€ Installation

Prerequisites

Requirement Details
Node.js v24 LTS (recommended)
ARC-OSC Server Access to a running instance (Live or Beta)
VRChat With OSC enabled in settings
Intiface Central (Optional) For OSCGoesBrrr haptic device support

Quick Start

# Clone the repository
git clone https://github.com/ComfyChloe/ARC-Client.git
cd ARC-Client

# Install dependencies
npm install

# Start in development mode
npm run dev

Build for Production

# Create distributable package
npm run build

The built application will be available in the dist/ folder.


โš™๏ธ Configuration

Server Connection

Setting Default Description
Server URL Live Choose between Live, Beta, or custom URL
Username โ€” Your ARC-OSC account username
Password โ€” Your ARC-OSC account password

OSC Settings

Setting Default Description
Local OSC Port 9001 Port for receiving data from VRChat
Target OSC Port 9000 Port for sending data to VRChat
Target Address 127.0.0.1 VRChat's IP address (localhost for local)

API Keys & Secrets

Create a secrets.json file in the root directory using secrets.example.json as a template:

{
  "hyperate_api_key": "your-hyperate-api-key-here"
}

OSCGoesBrrr Configuration

Setting Default Description
Intiface Address 127.0.0.1 IP address of Intiface Central server
Intiface Port 12345 WebSocket port for Intiface Central
Use WSS false Enable secure WebSocket (wss://)

Per-Device Settings:

  • Source Type: Filter by penetrator type (all, penetrator, orifice)
  • Enabled Sources: Toggle individual contact types (touch, penetration, frot)
  • Intensity Multiplier: Scale haptic strength (0.1x - 2.0x)
  • Idle Vibration: Baseline vibration when in contact (0-100%)
  • Vibration Mode: Depth-based (penetration depth) or Motion-based (thrusting speed)
๐Ÿ“ธ Settings Preview Settings Panel

๐Ÿ–ผ๏ธ Gallery

Explore the ARC-OSC Client interface through these screenshots:

๐ŸŒ Main OSC Dashboard OSC Dashboard

The main OSC panel showing multi-connection management and parameter monitoring.

๐Ÿ“Š Logs & Monitoring Logs Panel

Real-time logging view for debugging OSC traffic and monitoring parameter changes.

๐Ÿ’“ HypeRate Heart Monitor HypeRate Panel

HypeRate integration panel showing heart rate streaming configuration.

๐Ÿฆฎ OSC Leash Control OSC Leash Panel

Leash configuration panel with sensitivity controls and directional parameter mapping.

๐Ÿ’ฌ Feedback System Feedback Panel

Built-in feedback system for communicating with the development team.

โš™๏ธ Settings Panel Settings

Configuration settings for server connection and OSC parameters.


๐Ÿ“š Documentation

Guides

โ”œโ”€โ”€โ”€โ”€ Intiface Central (Buttplug.io) โ”‚

Guide Description
OSC Leash Setup Complete Unity prefab setup guide for avatar-side leash configuration

Technical Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚    VRChat       โ”‚โ”€โ”€โ”€โ”€โ–ถโ”‚  ARC-OSC Client  โ”‚โ”€โ”€โ”€โ”€โ–ถโ”‚  ARC-OSC Server โ”‚
โ”‚  (OSC @ 9001)   โ”‚โ—€โ”€โ”€โ”€โ”€โ”‚   (Electron)     โ”‚โ—€โ”€โ”€โ”€โ”€โ”‚   (WebSocket)   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
         โ”‚                      โ”‚
         โ”‚                      โ”œโ”€โ”€โ”€โ”€ HypeRate WebSocket
         โ”‚                      โ”œโ”€โ”€โ”€โ”€ VRChat API
         โ”‚                      โ””โ”€โ”€โ”€โ”€ OSC-Query mDNS
         โ”‚
         โ””โ”€โ”€โ”€โ”€ OSC @ 9000 (outgoing)

File Structure

ARC-Client/
โ”œโ”€โ”€ main.js              # Electron main process
โ”œโ”€โ”€ preload.js           # Secure preload script
โ”œโ”€โ”€ package.json         # Dependencies & scripts
โ”œโ”€โ”€ secrets.json         # API keys (user-created)
โ”œโ”€โ”€ Containers/          # Feature modules
โ”‚   โ”œโ”€โ”€ Hyperate.js      # HypeRate integration
โ”‚   โ”œโ”€โ”€ OscGoesBrrr.js   # Haptic device integration
โ”‚   โ”œโ”€โ”€ OscGoesBrrr/     # OSCGoesBrrr submodules
โ”‚   โ”‚   โ”œโ”€โ”€ ButtplugClient.js  # Buttplug.io protocol
โ”‚   โ”‚   โ””โ”€โ”€ GameDevice.js      # Avatar contact tracking
โ”‚   โ”œโ”€โ”€ OSCLeash.js      # Leash locomotion control
โ”‚   โ”œโ”€โ”€ VRC-API.js       # VRChat API wrapper
โ”‚   โ””โ”€โ”€ ...
โ”œโ”€โ”€ utils/               # Utility modules
โ”‚   โ”œโ”€โ”€ oscService.js    # OSC communication
โ”‚   โ”œโ”€โ”€ oscQueryService.js  # OSC-Query protocol
โ”‚   โ”œโ”€โ”€ websocketManager.js # ARC server connection
โ”‚   โ””โ”€โ”€ ...
โ”œโ”€โ”€ renderer/            # UI components
โ”œโ”€โ”€ Guides/              # User documentation
โ””โ”€โ”€ userdata/            # Persistent user configuration

๐Ÿค Contributing

This project is currently in Open beta. If you're interested in contributing, please reach out through the discord server.


๐Ÿ“„ License

This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) โ€” see the LICENSE file for details.

This means you are free to share and adapt this work for non-commercial purposes, as long as you give appropriate credit and distribute any derivatives under the same license.


Made with โค๏ธ by ComfyChloe

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published