FOOTDRAFT is a playable, open-source live-service football manager built on the Metaplay SDK. Here is what it demonstrates and how to clone it.
FOOTDRAFT is a head-to-head football manager built on the Metaplay SDK, and its full source code is public. Players draft eleven legends into a formation. They then play a 20-team, 38-matchday season league, with one matchday simulated each day and a transfer market open between them. Around that core sits a live-service economy: a wallet, daily and season quests, a season pass, a ranked ladder, LiveOps events and an in-game inbox. The whole game runs in a web browser.
Chris Wilson, who works in marketing at Metaplay, built it by prompting the Metaplay Agent: two days of prompting plus two overnight runs, fitted around his day job. His own description of his contribution is "prompts written between meetings and before bed", and he wrote up how he did it. This post covers what the sample demonstrates and how to get it running.
You can play FOOTDRAFT in your browser, and the code is at metaplay-shared/footdraft under the Apache 2.0 licence. The bundled player dataset is for demo use only and sits outside that licence.
What the FOOTDRAFT sample shows about a live service game backend
Each part of the game maps to a Metaplay SDK feature you can read in the source.
The draft uses Metaplay's deterministic client-server model. The same PlayerAction code runs on the client and the server: the client applies each pick straight away, and the server validates it. The drafted squad is stored on PlayerModel as a DraftedSquad.

The season league lives in LeagueActor, under Backend/Server/League/. It runs a 20-team, 38-matchday season with one matchday simulated per day. It is a persisted server-authoritative singleton, so league state survives server restarts and redeploys.
The transfer market charges fees inside the actions the client predicts. When a transfer fails a check on another entity, the server sends back a refund action. The server holds the balance and validates every charge, so a modified client cannot spend money the player does not have.

Game config comes from a Google Sheet. Legends, formations, league rules and quests compile into type-safe C# classes that the client and server both load, and designers rebalance them from the LiveOps Dashboard without a deploy.
The LiveOps Dashboard runs events such as Coin Rush multipliers, sends reward mail to the in-game inbox, and carries custom admin pages for managing season leagues. The same dashboard serves both LiveOps and player support.

Two weeks after launch, a single commit added a World Cup mode with 48 national squads and an R32-to-final bracket, a global leaderboard actor, Scout Packs, manager profiles, player-to-player trading with escrow, and match reports written from each game's events.
A Blazor WebAssembly client on the Metaplay SDK
The FOOTDRAFT client is a Blazor WebAssembly app. Players open a link and the game loads in the browser, with nothing to install.

The repo's WebClientBase project is a thin Blazor layer over the Metaplay SDK client. Building with -p:MetaplayWebAssembly=true switches the whole project graph to the WebAssembly transport. Because the client is C#, the PlayerModel and PlayerAction code the server runs compiles into the browser build as well.
How to run the FOOTDRAFT sample locally
The project runs on Metaplay SDK Release 38, which is publicly available. The quickest route is to give this prompt to an AI coding agent such as Claude Code:
Clone this repo and install Metaplay Agent using the Metaplay CLI, and open a playable version of the game locally in my browser so I can start building on top of it
The agent clones the repo, installs the Metaplay Agent through the Metaplay CLI, and starts a local server and web client. From there you can ask it to build on the game.
To run it by hand, the README lists the steps: install the Metaplay CLI, run python3 init-sdk.py, start the server with metaplay dev server, then start the web client with the WebAssembly flag and open localhost:5290.
Testing live service game logic without a running server
Server logic in FOOTDRAFT is plain C#, so its tests need no running server. Backend/SharedCode.Tests/ holds 29 test files covering the draft, the league, match simulation, the economy, cosmetics and the World Cup flows, and they run with dotnet test Backend/SharedCode.Tests. The Playwright browser tests do need the server and client running.
FAQ
Is FOOTDRAFT open source?
Yes. The code is under Apache 2.0. The bundled dataset of real player seasons is for demo use only and is not covered by the licence.
Does FOOTDRAFT need Unity?
No. The client is a Blazor WebAssembly app written in C# that runs in the browser, and the server is Metaplay SDK C#.
Which Metaplay SDK version does FOOTDRAFT use?
Release 38, which is now publicly available.
How long did FOOTDRAFT take to build?
Two days of prompting plus two overnight runs. Chris Wilson, a marketer at Metaplay, built the first public version by prompting the Metaplay Agent around his day job. Two weeks later, a single commit added a World Cup mode with 48 national squads, a global leaderboard actor, Scout Packs, player-to-player trading with escrow, and match reports.
Can designers change FOOTDRAFT without a deploy?
Yes. Game config compiles from a Google Sheet, and designers rebalance legends, formations, league rules and quests from the LiveOps Dashboard with no deploy.




