# Configuration

Fields and engine sections of wavedash.toml, the per-project CLI config file.

Source: https://docs.wavedash.com/cli/configuration

Every Wavedash game repo has a `wavedash.toml` at its root. It tells the CLI which game to upload to, where the built files live, and any engine-specific settings.

## File location

`wavedash.toml` is a per-project file. Commit it alongside your game code at the repo root — the CLI looks for `./wavedash.toml` by default when you run `wavedash dev` or `wavedash build push`. Pass `--config <PATH>` to point at a different file.

## Generate it with `wavedash init`

The fastest way to create `wavedash.toml` is to run [`wavedash init`](/cli/commands#initialize-a-project) at the root of your game repo. It detects your engine, prompts you to pick or create a team and project, and writes a ready-to-use config.

```bash
wavedash init
```

## Basic structure

<Tabs>
  <Tab title="Godot">
    ```toml
    game_id = "YOUR_GAME_ID_HERE"
    upload_dir = "./exports/web"

    [godot]
    version = "4.5-stable"
    ```
  </Tab>
  <Tab title="Unity">
    ```toml
    game_id = "YOUR_GAME_ID_HERE"
    upload_dir = "./Builds/WebGL"

    [unity]
    version = "6000.0.2f1"
    ```
  </Tab>
  <Tab title="Other engines">
    ```toml
    game_id = "YOUR_GAME_ID_HERE"
    upload_dir = "./dist"
    entrypoint = "index.html"
    ```
  </Tab>
</Tabs>

## Core fields

| Field | Description |
|-------|-------------|
| `game_id` | Your game's ID from the Developer Portal |
| `upload_dir` | Path to your built game files (relative to the config file) |
| `entrypoint` | The first file Wavedash loads inside `upload_dir`. Defaults to `index.html` |

`entrypoint` is relative to `upload_dir`. Point it at your HTML shell, not a bundled script. If your build outputs `dist/index.html`, set `upload_dir = "./dist"` and `entrypoint = "index.html"`.

## Engine sections

Godot and Unity have dedicated sections in `wavedash.toml` that unlock engine-specific features — for example, pinning the engine version used by the build pipeline.

| Section | Used with |
|---------|-----------|
| `[godot]` | Godot projects |
| `[unity]` | Unity projects |

For any other engine, no engine section is needed. Wavedash loads your `entrypoint` directly. See the [engine guides](/engines) for `wavedash.toml` examples tailored to each engine.

## Next steps

With `wavedash.toml` in place, you can run [`wavedash dev`](/cli/commands#local-development) for a local sandbox or [`wavedash build push`](/cli/commands#build-and-push) to upload a build.
