Help / FAQ

Setup notes for pairing, VRChat output, and first launch.

Use these notes when setup needs extra context, from first-launch prompts to QR pairing, VRChat output, and troubleshooting.

First launch

Opening the desktop app

Windows safety prompt

If SmartScreen appears because the app is unsigned, confirm the file came from WearStream or the GitHub release, then choose More info and Run anyway.

macOS safety prompt

If macOS blocks the app, unzip it, then Control-click or right-click the app and choose Open.

If macOS still blocks it

Open System Settings -> Privacy & Security, use Open Anyway for WearStream, then launch it again.

Pairing

Where each address goes

QR pairing

Click Start Relay on desktop. It shows a local URL such as ws://192.168.x.x:6124/ws. Scan it in the phone app, then tap Start Relay there. VRChat does not use this URL.

VRChat outputs

For the normal same-PC setup, leave WearStream pointed at 127.0.0.1:9000 and enable OSC plus Chatbox in VRChat.

Test listener

Use Test listener in the desktop app if the phone cannot connect or the relay URL seems wrong.

Troubleshooting

Quick checks when data is not flowing

Phone cannot connect

Make sure the phone and desktop are on the same Wi-Fi network, then restart the desktop relay and scan the new QR code.

No BPM from watch

Open WearStream on the watch and tap Start streaming. Confirm heart-rate access is allowed. If streaming stops when the screen sleeps, follow the all-the-time steps below.

VRChat does not show BPM

Enable OSC and Chatbox in VRChat settings, then leave the WearStream OSC target on localhost unless you intentionally changed it.

Permissions

Watch permissions and long sessions

Wear OS heart-rate access

When you tap Start streaming, WearStream explains why it needs heart-rate access before the system prompt. Background access is a separate choice on Wear OS 4 and newer.

Allow all the time

If WearStream opens system settings, it may start on the WearStream app info page.

  1. Open Permissions.
  2. Tap Fitness and wellness.
  3. Scroll to Allowed to access.
  4. Change While in use to All the time.
  5. Swipe back to WearStream.

This lets the watch keep streaming after the screen sleeps. Menu names can vary slightly by watch and Wear OS version; on Wear OS 6 the permission may be described as background health data access.

Phone long sessions

The Android phone relay uses a foreground service, so leave the battery mode on its normal Optimized setting unless a session actually stops. If that happens, use WearStream's settings shortcut or open Android Settings -> Apps -> WearStream Phone -> Battery or App battery usage, then choose Unrestricted or allow background usage. Avoid Restricted.

Platform paths

One relay contract, different devices

Wear OS + Android

The current Android path reads heart-rate data from a Wear OS watch, relays it through Android, then forwards it to desktop.

Apple Watch + iPhone

The Apple path uses native WatchConnectivity and the same local desktop listener contract.

Desktop app

The desktop receives telemetry, smooths the output, and sends BPM to local VRChat outputs.

Safety and legal

Independent project notice

WearStream is a companion relay utility for live BPM display and VRChat workflows, not a medical app or medical device.

WearStream is independent and is not affiliated with, endorsed by, or sponsored by VRChat, Samsung, Google, Wear OS, Apple, Apple Watch, or iPhone.

Support email: wearstream.support@gmail.com