Become a CreatorUpload a GameWeave ForgeEngines & SDKMultiplayerDocs

Weave Net · Real-time

Real-time multiplayer, no backend.

Woven ships a managed WebRTC stack: rooms & matchmaking over a signaling server, hosted STUN/TURN for NAT traversal, and low-latency DataChannels for game state — plus spatial voice. Add it in a few lines, any engine.

🛰️

Signaling

Rooms, matchmaking & presence over secure WebSocket. We broker the SDP/ICE handshake so peers can find each other.

wss://net.woven.gg/room/:id
🧭

NAT traversal

Managed STUN + TURN across 14 regions. Direct peer-to-peer when possible, automatic relay fallback when firewalls get in the way.

STUN · TURN (DTLS) · auto

Transport

Ordered & unordered WebRTC DataChannels for state at 30–60Hz, plus encrypted Opus voice. You pick reliability per channel.

DataChannel · Opus · DTLS-SRTP

How a session connects

WebRTC DataChannel · 60Hz state · 18 ms
1 · ICE / SDP
1 · ICE / SDP
🎮
Player A · browser
your game + Weave SDK
🎮
Player B · browser
your game + Weave SDK
Weave Net · Signaling (WSS)
rooms · matchmaking · SDP/ICE exchange
STUN
discover public address
TURN relay
fallback when P2P blocked
Direct P2P data & voice Signaling handshake Relay fallback

Add it in ~10 lines

// works with Babylon, three.js, PlayCanvas, Phaser…
import { Weave } from '@woven/net'

// join a room — signaling, STUN/TURN & encryption handled
const room = await Weave.join('hollow-tide', { max: 8, voice: true })

room.on('peer', (peer) => console.log("'+ '", peer.id, peer.ping))

// 60Hz state over an unreliable DataChannel
const net = room.channel('state', { ordered: false })
net.onMessage(s => world.apply(s))
setInterval(() => net.send(player.snapshot()), 1000/60)

// spatial voice, also WebRTC
room.voice.enable({ spatial: true })
Prefer an authoritative server? Flip topology to Relay (SFU) or Authoritative and run logic on a Woven edge worker — same SDK.

Room config

Topology
Region
Tick rate
Spatial voice
Encryption
DTLS-SRTP, always on
enforced

Room monitor · hollow-tide#4f2a

Maya
direct · P2P
18ms
kojiro
direct · P2P
24ms
fenn
direct · P2P
31ms
guest_91
via TURN relay
68ms
Avg. latency35 ms
P2P direct3 / 4 peers