Search documentation

Find pages, sections, and content across all docs.

WavedashDocs

Quickstart

Go from zero to a published game on Wavedash in a few minutes.

This quickstart walks through getting a web game live on Wavedash from scratch. It's engine-agnostic — the steps are the same whether you're using Three.js, Phaser, Godot, or anything that produces a folder of HTML and JS files.

You'll need:

  • A Wavedash account (sign up free)
  • A game that builds to a folder of static files

The CLI is optional. You can upload and publish entirely from the Developer Portal — skip to step 4 if you'd rather not install a CLI. The CLI exists for teams that want a scripted workflow, a local sandbox (wavedash dev), or CI uploads.

1. Install the CLI

curl -fsSL https://wavedash.com/cli/install.sh | sh

Verify it installed:

wavedash --version

2. Authenticate

wavedash auth login

This opens your browser. Approve the login and the CLI saves your credentials locally. You only need to do this once per machine.

3. Initialize your project

From the root of your game repo:

wavedash init

The CLI walks you through picking or creating a team and game, then writes a wavedash.toml to your project:

game_id = "your-game-id"
upload_dir = "./dist"

Make sure upload_dir points at the folder containing your index.html. Change it to match your engine's output directory — ./build, ./out, ./export, etc.

4. Call init()

The Wavedash SDK is automatically injected into the page when your game runs on Wavedash. There's nothing to install — just call init() once when your game boots, before any other SDK methods.

Wavedash.init();

That's the minimum. init() marks the game as loaded and connects to Wavedash services. If you want to show a progress bar while assets load, report progress first:

Wavedash.updateLoadProgressZeroToOne(0.0);
await loadAssets();
Wavedash.updateLoadProgressZeroToOne(1.0);
Wavedash.init();

If you're using TypeScript and want types and editor autocomplete, install @wvdsh/sdk-js:

npm install @wvdsh/sdk-js
import Wavedash from "@wvdsh/sdk-js";

Wavedash.init({ debug: true });

The default export is the live, fully-typed Wavedash SDK singleton — methods, events, and payloads all autocomplete.

See SDK setup for the full init() API, engine-specific wrappers, and load lifecycle details.

5. Test locally

If you have the CLI installed, produce a production build of your game and run:

wavedash dev

This launches the Wavedash Dev app, which runs your build inside the Wavedash sandbox. The SDK works against sandbox data, so leaderboards, achievements, cloud saves, and multiplayer all work without touching production. The first run downloads the dev app; subsequent runs reuse it.

If you're not using the CLI, skip this step and verify your game on wavedash.com after you publish in step 6.

6. Upload and publish

Push your build:

wavedash build push

The CLI packages your upload_dir and uploads it as a new numbered build. Once it finishes, open your game in the Developer Portal, go to the Builds tab, and click "Publish" next to the build you just pushed.

Builds list with the Publish button highlighted

After publishing, open the public game URL in a fresh browser to verify everything works end to end.

Your game is live on Wavedash.

Before you share the link, set up your store page — title, description, screenshots, and tags — in Publishing → Metadata.

Next steps