Run your live game without a developer for every change.
Schedule events, target offers, show popups and define audiences in LiveDeck. Your game fetches what applies to each player over HTTP, or through the Unity package and the Nakama adapter. The backend you already have stays where it is.
You're on the list. We'll be in touch when LiveDeck opens.
LiveDeck is in early access, built by a mobile game studio that runs six live games on these tools. Leave your email and we'll be in touch when it opens.
Running a live game means changing it every week. Every change still needs a developer.
Events, offers, popups and config changes are the job of the producer. Today each one becomes a ticket, a release or a spreadsheet handed to someone else.
The schedule can't say what you mean.
"Every second week, starting the 27th." "The last Friday of the month." "At 18:00 in each player's timezone." Most scheduling tools can't express these, and the ones that can get them wrong when the clocks change.
Offers, config and popups live in three places.
Each tool has its own idea of who a "new player" is. Targeting the same people with an offer, a config change and a popup means defining them three times and hoping they match.
Testing an offer means building two offers.
Comparing two prices for the same pack takes a duplicate, a filter for the control group, a second filter for the test group, and a developer to check the split.
So the calendar gets simpler than the game deserves, and the changes that would have paid for themselves never ship.
Four tools, one calendar, one audience model.
Each works on its own. Together they share the same players and the same clock.
Scheduling that means what you wrote.
Recurrence follows calendar rules with an anchor date, so "every second week from the 27th" starts on the 27th. Each schedule has a named timezone, so daylight-saving changes move the event with the clock. Switch on per-player local time when an event should start at 18:00 wherever the player is. Overlaps are flagged before publishing, and you can preview what any player sees at any time.
Timeline · October Europe/Rome
Mon 26Tue 27Wed 28Thu 29Fri 30Sat 31Sun 1
Club War: Medieval
every 2nd week · from 26 Oct
Weekend cup
Starter pack
overlap: Sat–Sunlast Friday of the month
Preview as playerp_8f31 · Fri 18:00 local
Offer · Starter pack
Productstarter_pack from your store
Audiencenew, non-payers
ScheduleFri 18:00 → Sun 23:59 local
Variants
A · $1.9950%
B · $2.9950%
Offers on the store you already have.
LiveDeck decides who sees which offer, at which price point, and when. Your catalog, your store and your purchase validation stay where they are. Comparing two prices is one offer with two variants and a split.
Popups without a build.
Pick a template, write the text in each language, choose the action, set the audience and the schedule. The Unity package renders it, so changing a popup needs no release.
"Installed this week, no purchase yet." "Spent over $50 in the last 30 days." Build a segment from the properties your game reports, or import one from your data warehouse, then target offers, popups, config and pushes with it.
Also in the deck
Remote config
Versioned values with drafts, releases and rollback, scheduled and targeted like everything else.
A/B tests
Split any audience across variants of an offer, a popup or a config value. Promote the winner from the same screen.
Push notifications
Schedule a push to an audience next to the event or offer it announces. Delivered through Firebase Cloud Messaging.
Your game pulls. We never push into your backend.
1
Define it in LiveDeck.
Schedules, offers, popups, audiences, config, tests. A producer can do all of it without a ticket.
2
The game asks what applies.
One HTTP request with a player id and the properties you choose to send. The answer is JSON: the offers, popups, config values and test variants that apply to that player right now.
3
The game applies it.
Your code decides what to do with the answer: show the offer, open the popup, read the config value.
HTTP first.
One endpoint, JSON in and out. Any engine, any backend, including a custom one, integrates with a single request per session and a refresh when you choose.
The easier way.
The Unity package fetches and caches the answer and renders popups for you. The Nakama adapter pulls LiveDeck state inside your server runtime, so game code reads it like any other config. Unity and Nakama are first in line; Godot, Unreal and other backends follow. Every package is optional and reads from the same API.
LiveDeck writes nothing to your systems. It calls out for two things only: sending push notifications through Firebase Cloud Messaging, and, when you want it, a webhook that tells your backend something was published so it can refresh.
Runs beside your backend. Leaves when you say so.
LiveDeck is a layer next to the backend you already run, whatever it is.
Built by a mobile game studio that runs six live games on these tools, in production since 2022.
What that means
Your players, economy and store stay where they are. There is nothing to migrate.
LiveDeck reads what your game sends it and writes nothing to your systems.
Schedules, offers, audiences and configs export as JSON at any time.
Frequently asked questions
What is LiveDeck?
LiveDeck is a LiveOps console for live games. Producers define schedules, offers, popups, audiences, config values and A/B tests in it; the game fetches what applies to each player over an HTTP API and applies it. It runs beside the game's existing backend, never inside it. It is built by a mobile game studio that runs six live games on these tools, and it is in early access.
Does LiveDeck work with my backend and engine?
Yes, if your game can make an HTTP request. LiveDeck returns JSON for a player; your game or your backend decides what to do with it. A Unity package and a Nakama adapter are first in line and save you the integration work; Godot, Unreal and other backends follow. Every package is optional, and a custom backend calls the same API.
Do I have to migrate anything or give LiveDeck access to my data?
No. Your players, economy, store and purchase validation stay where they are. LiveDeck only knows the player id and the properties your game chooses to send with each request, plus any audience lists you import. It never writes to your backend. Everything you define in LiveDeck can be exported as JSON at any time.
How is this different from the remote config I already use?
Remote config answers which value a player gets. LiveDeck also answers when, for whom and together with what. A schedule with correct recurrence and timezones decides when; audiences shared by offers, popups, config and pushes decide for whom; A/B tests run on any of them. Remote config is one of its tools, versioned with drafts, releases and rollback. If your config lives in your backend today, keep it there: the Nakama adapter, or a small job of your own, fetches from LiveDeck and stores it locally, and a webhook on publish tells it when to refresh. LiveDeck is where the values are edited.
How does scheduling handle timezones, daylight saving and recurrence?
Each schedule has a named timezone (for example Europe/Rome), so daylight-saving changes move the event with the clock instead of breaking it. Recurrence follows calendar rules with an anchor date: every second week from a given day, the last Friday of the month, weekdays only. A schedule can run at the same wall-clock time in each player's own timezone. Overlapping schedules are flagged before publishing, and you can preview what a specific player sees at a specific time.
How do offers work with my store and purchase validation?
LiveDeck decides who sees which offer, at which price point and when, and returns that decision to your game. The products themselves live in your store, and purchases are validated by your backend as they are today. Comparing two prices for the same offer is one offer with two variants and a split.
What does the popup package do, and what if I use my own UI?
The Unity package renders popups from templates with localised text, an action and a schedule, so changing a popup needs no release. If you prefer your own UI, use the JSON the API returns and render it yourself; the targeting and scheduling still come from LiveDeck.
Is LiveDeck only for mobile games?
No. It is built first for mobile free-to-play games, which run the most events and offers, but the API is the same for PC and console live-service games and for any backend that has no LiveOps console of its own.
Can I use LiveDeck now?
Not yet. LiveDeck is in early access. Leave your work email in the form on this page, tell us which tool you would use first, and we'll be in touch when it opens.
Get early access for your live game.
Leave your work email and tell us what you would use first. We'll be in touch when LiveDeck opens.
You're on the list. We'll be in touch when LiveDeck opens.