# Introduction

An overview of the Wavedash platform and what it offers game developers.

Source: https://docs.wavedash.com/getting-started/introduction

Wavedash is a game platform for the browser. Players open a link and the game runs. No downloads, no installs.

You ship a browser build. Wavedash gives it a store page, handles player accounts, and provides an [SDK](/sdk) for [multiplayer](/multiplayer), [achievements](/sdk/achievements), [leaderboards](/sdk/leaderboards), [cloud saves](/sdk/cloud-saves), and more.

## How do I get my game on Wavedash?

<Steps>
  <Step title="Prepare a browser build">
    You need a version of your game that can be opened in a browser. Almost any engine can produce one.
  </Step>
  <Step title="Add the loader handshake">
    Call `Wavedash.init()` once when your game finishes loading — this is what reveals it from the loading screen. It's the only code change Wavedash requires; the [quickstart](/getting-started/quickstart) shows exactly where it goes.
  </Step>
  <Step title="Upload your build">
    Drag and drop the build folder in the [Developer Portal](https://wavedash.com/dev-portal), or run `wavedash build push` if you'd rather stay in the terminal. Every upload creates an immutable, numbered build you can roll back to at any time.
  </Step>
  <Step title="Publish">
    Promote a build to <Pill>Published</Pill> from the CLI or Developer Portal. The published build is the version players get when they open your game.
  </Step>
</Steps>

## Which game engines can I use?

If it runs in a browser, it runs on Wavedash. Unity, Godot, Three.js, PlayCanvas, Construct, raw HTML/JS, WebAssembly — it doesn't matter how the build was made as long as the result is playable in a browser tab.

The Wavedash SDK has native bindings for Godot (GDScript) and Unity (C#). Everything else uses the JavaScript API directly. See [Engine guides](/engines) for per-engine setup.

## What does the SDK do?

Calling `Wavedash.init()` (above) is the one part every game needs. Everything else the SDK offers is optional — add only what your game uses:

| Feature | What it does |
|---------|-------------|
| **[Multiplayer](/multiplayer)** | Lobbies with messaging, metadata, invites, and fully-mesh P2P networking over WebRTC |
| **[Achievements](/sdk/achievements)** | Stat tracking with automatic or manual unlock triggers |
| **[Leaderboards](/sdk/leaderboards)** | Ranked scoreboards with configurable sort and display |
| **[Cloud saves](/sdk/cloud-saves)** | Per-player file storage synced across sessions and devices |
| **[Player accounts](/sdk/players)** | Identity, profiles, friends, avatars, presence |
| **[UGC](/sdk/ugc)** | Player-uploaded screenshots, replays, and community content |

Wavedash injects the SDK automatically when your game runs in production, so there's nothing to install. In JavaScript you can optionally `npm install @wvdsh/sdk-js` and `import Wavedash from "@wvdsh/sdk-js"` for a typed SDK singleton; Unity and Godot have native bindings. During local development, `wavedash dev` provides a sandbox version so everything works the same way.

## How does monetization work?

Wavedash is free for players and free for developers. Every game launches free to play; you earn by gating part of it behind **Paid Content** that players unlock with an in-game purchase, and Wavedash takes a **10% marketplace fee**. See [Monetization](/publishing/monetization).

## Where do I start?

<CardGroup cols="2">
  <Card title="Quickstart" href="/getting-started/quickstart">
    Get your first game live in under 5 minutes.
  </Card>
  <Card title="Glossary" href="/getting-started/concepts">
    Key terms used across the docs and dashboard.
  </Card>
</CardGroup>
