VoidCode VR — Spatial VR for AI Coding Sessions

Walk between floating AI coding terminals in virtual reality. Speak your commands. See all your sessions at once. Spatial separation turns context switching into something physical and intuitive.

COMING SOON TO STEAM
ACTIVE DEVELOPMENT
UNITY 6 + STEAMVR
VALVE INDEX
FREE & OPEN SOURCE
00

The Problem

Context switching between multiple AI coding sessions is cognitively expensive. Tabs and split panes don't scale — by the fourth session, you've lost track of what's where.

VoidCode VR makes it spatial. Each session is a floating terminal panel in 3D space. Walk toward one to focus it. Step back to see everything. Speak your commands via push-to-talk voice input. No keyboard required in VR.

This isn't a gimmick. It's a developer tool that happens to exist in VR.
01

Features

Push-to-Talk Voice Input
Hold a controller button, speak, release. Local Whisper STT transcribes your speech and injects it into the focused terminal. Fully offline, sub-second latency. Works for any terminal input — commands, responses, slash commands.
BUILT
Live Terminal Panels
Full ANSI terminal rendering via xterm.js — colors, cursor positioning, scrollback, alternate screen buffers. The same rendering approach VS Code uses. Each panel runs in its own browser process for stability.
BUILT
Multi-Session Management
Spawn, kill, and label sessions from within VR. Each gets its own floating panel in world space. Wrist menu shows all active sessions with one-tap teleport. Proximity-based focus with color-coded activity borders.
BUILT
Project-Aware Sessions
Each session can target a specific working directory. Project picker scans configured roots and detects project markers (.git, package.json). Sessions auto-name from the directory. Recent dirs remembered.
BUILT
Themes & Customization
10 terminal themes (6 classic + 4 Catppuccin flavors) with live switching. JetBrains Mono font. Panel size presets (S/M/L). Drag-to-resize with aspect ratio lock. All settings persist.
BUILT
Panel Grouping
Group related panels — they move as a unit when you grab any member. Auto-arrange, snap-to-place. Create and disband groups from the wrist menu. Organize by project or task.
BUILT
Spatial Audio Notifications
Completion chimes from the panel's 3D position. Know which session needs attention without looking. "Waiting for input" detection highlights panels with orange pulsing borders.
BUILT
Workspace Save/Load
Save your entire spatial layout — positions, sizes, groups, working directories. Restore it later and pick up exactly where you left off.
BUILT
Controller Haptics
Tactile feedback for panel grabs, button presses, snap points, voice recording, and notifications. Feel the double-pulse when a session completes behind you.
BUILT
Music Player & Soundscape
Built-in music player auto-discovers .ogg tracks. Play, pause, skip, shuffle, repeat from the wrist menu. Ambient soundscape or your own music while you work.
BUILT
02

Architecture

  Claude Code                  AI coding agent (runs in PTY)
       
  node-pty                      Pseudo-terminal (full TUI support)
       
  Node.js Sidecar               Session lifecycle, WebSocket server
       
  WebSocket                     Terminal bytes + JSON control messages
       
  xterm.js                      Terminal renderer (in browser surface)
       
  Unity Web Browser            CEF browser → Texture2D on 3D quad
       
  VR Panel                      Floating in world space (Unity + SteamVR)
       
  whisper.unity                 Local Whisper STT for push-to-talk
      
Why this stack? Claude Code is a rich TUI app with colors, spinners, alternate screen buffers. xterm.js handles all of that out of the box — the same way VS Code's integrated terminal does. node-pty gives it a real terminal. A WebView renders it onto a 3D surface. Every layer does a job that would be harder to build from scratch. Voice input stays fully local via whisper.cpp — no cloud STT, no latency, no cost.
03

Tech Stack

VR Runtime
Unity 6 LTS + SteamVR
OpenXR, XR Interaction Toolkit, Index controller bindings
BSD-3 / UNITY COMPANION
Terminal
xterm.js
Full ANSI terminal emulator, battle-tested
MIT
Browser Surface
Unity Web Browser
CEF-based, separate process, renders to Texture2D
MIT
Session Manager
Node.js + node-pty
PTY process management, WebSocket streaming
MIT
Voice Input
whisper.unity
Local Whisper STT via whisper.cpp, fully offline
MIT
IPC
WebSocket
Bidirectional, low-latency, C# + Node native
04

Progress

01
Complete
VR Foundation
SteamVR scene, teleport + smooth locomotion, controller interaction, dark void environment with grid floor.
02
Complete
Live Terminal Pipeline
Node.js sidecar with PTY, xterm.js rendering, WebView on 3D panel, keyboard input, SteamVR overlay keyboard, VR button bar.
03
Complete
Multi-Session Management
Spawn/kill sessions in VR, wrist menu with teleport, proximity focus, color-coded activity states, grab-to-reposition panels.
04
Complete
Voice Input
Push-to-talk with local Whisper STT. Hold button, speak, release — transcribed text injected into terminal. Fully offline, sub-second.
05
Complete
Session Setup & Panel UX
Working directories, project picker, 10 themes, settings persistence, drag-to-resize, panel grouping, size presets.
06
Complete
Awareness & Atmosphere
Spatial audio notifications, completion chimes, input-waiting detection, gaze-based brightness, workspace save/load, ambient soundscape.
07
Complete
Polish & Quality of Life
Controller haptics, Catppuccin themes, JetBrains Mono, session cloning, panel minimize, quick-glance, bookmarks, music player, alternative CLI support.
Next
Startup Flow
Splash screen, main menu (continue, load workspace, new session, settings, quit), skip intro setting, Ko-fi support link.
05

On the Roadmap

Startup Menu
Splash screen, main menu with workspace loading, settings, and quick start. Skip intro for power users.
Claude Code Hooks
Instant, deterministic activity detection via hook events. No more heuristic timeouts.
Panel Pinning
Pin a panel to follow you HUD-style instead of staying fixed in space.
Copy/Paste Between Sessions
Clipboard bridge to grab output from one panel and paste into another.
Session Templates
One-tap workspace recipes. "Fullstack" spawns frontend + backend + infra panels wherever you're standing.
Environment Themes
Not just void — space station, zen garden, library. Swap skybox, floor, lighting, and ambient props.
06

Requirements

Unity 6 LTS
VR application runtime and editor
FREE (PERSONAL)
Steam + SteamVR
VR runtime for headset
FREE
Node.js 20+
Sidecar runtime
FREE
Claude Code
The AI sessions themselves
SUBSCRIPTION
SteamVR Headset
Valve Index recommended
HARDWARE
Windows 10/11
Host OS for VR + sessions
$0
VoidCode is free. Free on Steam, no paywalls. If you want to support development, you can buy me a coffee on Ko-fi. You bring the VR headset and a Claude Code subscription — everything else is included.
07

Coming to Steam

VoidCode VR is coming to Steam
Free to download, no paywalls. The Steam store page is being set up — wishlist will be available soon. Join the Discord to follow development, or support on Ko-fi if you want to chip in.

The Tether Family

Manage your AI coding agents everywhere

On the PC. On the go. In the void.

On the PC Tether Desktop session multiplexer for Claude Code, Codex, and other agent CLIs — local, SSH, and Coder, in one window. tethercli.app →
On the go Tether Go Soon SSH to your boxes and drive agent sessions from your phone. The dumb-pipe terminal, Android-shaped. Coming to Android
In the void VoidCode VR You're here Walk between floating terminals in spatial VR. Voice-first, one panel per session, your work in three dimensions. You're viewing this