Social & Presence
Presence, parties and matchmaking that ship today, and the planned friend graph (Helix.social).
Planned API, not in the shipped Web SDK
The friend graph and chat (Helix.social, Helix.chat) are part of the designed Platform API contract but are not in
@hypersoniclabs/helix-sdk today, so the signatures in the Planned section are a specification, not something you can call.
Presence, parties and matchmaking do ship; they come first below.
What ships today
Three social surfaces are in the Web SDK now:
Prop
Type
Friends and blocking exist as account routes on the backend (/api/v1/users/me/friends,
/api/v1/users/:id/friend-request, /api/v1/users/:id/block, /api/v1/users/me/friends/presence),
used by the HELIX site with the player's own account token. Worlds can't call them: the friend graph
is not exposed to world code until Helix.social ships.
Planned: Helix.social
Helix.social exposes the player's social graph: who their friends are, who's online, and how to
pull them into your world. Because identity is platform-wide, friendships and presence work across
every world automatically.
Prop
Type
Invite a friend into your world (planned)
const friends = await Helix.social.getFriends();
const online = [];
for (const f of friends) {
const p = await Helix.social.getPresence(f.id);
if (p.online) online.push(f);
}
// pull an online friend into this instance
if (online[0]) await Helix.social.inviteToInstance(online[0].id);Friend presence (planned)
Presence tells you whether a friend is online and, when permitted, what world they're in — the basis for "join friend" buttons and for surfacing active sessions. Respect the player's privacy settings; the platform enforces visibility.
Related social surfaces
Real-time chat (Helix.chat) is planned too. Spatial and proximity voice ships as Helix.voice
(see the guides).