Quickstart
From zero to a published, playable multiplayer world in a few minutes using the HELIX CLI.
This builds and publishes a real multiplayer world on the Web runtime — the fastest path to a playable link. Native (Unreal) setup lives in the Native SDK section.
Prerequisites
- Node.js 20+
- A HELIX account (helixgame.com)
1. Create a world
Scaffold from a template.
npx @helix/cli create my-world --template multiplayer-starter
cd my-world
npm installRun it locally. This starts the world with a local instance and hot reload.
helix devOpen the printed URL. You're now in your world as an authenticated player.
2. Write a little logic
Client code talks to the Platform API and to your server via Events. Here we greet the player and read their balance:
import { Helix } from '@helix/sdk';
await Helix.init({
worldId: window.HELIX_WORLD_ID,
launchTicket: window.HELIX_LAUNCH_TICKET,
});
const me = await Helix.profile.getMyProfile();
const wallet = await Helix.wallet.getBalance();
console.log(`Welcome, ${me.displayName} — you have ${wallet.lix} LIX`);Server code extends HelixInstance and owns authoritative state:
import { HelixInstance } from '@helix/server-sdk';
export default class MyInstance extends HelixInstance {
async onPlayerJoin(player) {
this.broadcast('player-joined', { id: player.id, name: player.displayName });
}
async onEvent(player, event, payload) {
if (event === 'wave') this.broadcast('wave', { from: player.id });
}
}3. Publish & play
Validate your world against the platform manifest and rules:
helix validateDeploy. This creates an immutable Build and makes it playable from a link.
helix deployShare the link. Anyone can open it and play instantly — as a guest if they're not signed in.