---
type: explanation
title: Custom games
summary: Register and host your own game instead of a marketplace one, with a replay artifact so it can gate verification.
---

Most customers embed a game from the [marketplace](/marketplace). If you would rather run your own game, you can register a **custom game**: a game you host yourself, identified by an id you choose, instead of picking one from the catalog.

This page is an overview of what a custom game is and what it takes to use one. Authoring a game in depth (writing the game, its schema, and its replay) is covered separately.

## Registering a custom game

On a site key's (or the troop's) **Games** page, use the **Custom game** input in the **Add a game** panel: enter an id and click **Define**. Unlike a marketplace game, a custom game has no author manifest, so you define its schema yourself in the editor (the fields each preset can set) and then author presets against it.

A custom game id can be any GitHub-repo-style string. If you choose an id that also exists in the marketplace, your custom game takes priority for that id; Caputchin warns you at the time and never silently serves the marketplace game instead.

## Hosting and the replay artifact

You host the playable game yourself and point the widget at it with the `game-src` attribute. To use a custom game as a [verification gate](/docs/site-keys/games), Caputchin also needs a **replay artifact**: a small headless version of the game it can re-run to confirm a result. You upload that on the game's **Settings** tab. Until a replay artifact is uploaded and passes its check, a custom game shows as **Not replayable** and cannot gate a site key.

## Presets and skin assets

A custom game's language, skin, and configuration presets resolve and apply at runtime exactly as a marketplace game's do, on the same plan tiers (see the [overview](/docs/game-customization/overview)). The only difference is where the field schema comes from: you author it in the dashboard rather than inheriting it from a marketplace manifest.

One caveat: because you host the playable game yourself, reference any image, audio, or video your skin presets use by absolute URL. There is no platform bundle to resolve a relative asset path against.

## See also

- [Game customization overview](/docs/game-customization/overview): registering and managing games.
- [Games and the game gate](/docs/site-keys/games): requiring a game to verify, and the replayability requirement.
- [Schema reference](/docs/references/customization-schema): the field types you author a custom schema from.
