Account & Saves
Your local save is the source of truth. There is no login and no continuous sync — the cloud is a backup and a transfer channel, and you decide when to use it.
The Account screen
The Account button on the start screen opens three tabs:
| Tab | What is on it |
|---|---|
| Data | Your display name, your lifetime Defeated count and Total Playtime, the account transfer code and the upload/download controls, Reset Tutorials, and Reset Progress — the last one styled red, because it wipes the save. |
| Bestiary | Your discovered creature dex, with the Discovered N / M count folded into the tab label so you can see it from any tab. It lives here rather than having its own start-screen button. |
| Achievements | Today’s daily bonus objectives at the top, then 55 one-shot challenges that pay gold. See Achievements. |
It only replays the in-game hint bubbles — the charge skill, beat timing, Reinforcement Clone, the collectible balls and the buff vote — the next time you play. Nothing else about your save changes.
The local save
Progress is written to an encrypted local file on your device. It holds your gold, highest wave, every upgrade and class level, ships owned, decals and presets, charge skills, supports, redeemed codes, Bestiary discoveries and your display name.
The game is client-authoritative: your device decides what your save says. Nothing is validated server-side.
When it backs up
The cloud is written on six occasions, all best-effort — if you are offline it simply retries later:
| Trigger | Detail |
|---|---|
| Manual Upload | Account screen → Upload & Copy. |
| 10-wave checkpoint | After clearing waves 10, 20, 30 … 90, plus the wave-100 victory. Fire and forget. |
| Exit | Pressing Exit, or closing the window on desktop. Awaited up to 5 seconds so the upload lands. |
| End Game | Only if you advanced at least 5 waves from where the run started — so a wave-33 start needs to reach 38. |
| Give Up | Always backs up first, unconditionally. |
| Name change | Changing your display name pushes immediately, so other devices see it without waiting. |
Automatic uploads are skipped when nothing has changed — a gold or name change is what marks the save dirty.
Moving to another device
- On the device that has your progress: Account on the start screen → Upload & Copy. That copies your account code to the clipboard.
- On the new device: Account → Paste the code → Download.
- The new device adopts the account and your progress appears.
A Load overwrites the local save with the downloaded one. Upload from your newest device first, and only then Load on the other one.
Transferring by QR code
Rather than copying a long code between devices by hand, Account › Data can show it as a QR code carrying the PewBeat logo.
| Button | Where | What it does |
|---|---|---|
| Show QR Code | Every platform | Opens your account code as a scannable QR in a modal. Desktop also gets a Copy Image button, and the modal closes with its ✕. |
| Capture QR Code | Mobile | Opens the camera scanner to read the code off the other device’s screen. |
The QR is rendered locally — your private account code is never uploaded to make the image, and nothing about the transfer leaves the two devices in front of you. Scanning one is exactly equivalent to pasting the code, so the same warning above applies: it replaces the local save rather than merging it.
Account transfer lives on the Account screen, reached from the start screen — so a transfer can never land in the middle of a run. The same screen is where you rename yourself and reset your progress.
What syncs and what doesn’t
| Data | Local | Cloud |
|---|---|---|
| Gold, per-planet wave records, upgrades, class levels | ✓ | ✓ |
| Ships owned, charge skills, supports | ✓ | ✓ |
| Decals owned, preset slots, active preset | ✓ | ✓ |
| Redeemed gold codes | ✓ | ✓ |
| Bestiary discoveries | ✓ | ✓ |
| Galactic War contribution and claim state | ✓ | ✓ |
| Display name | ✓ | ✓ |
| Daily bonus progress | ✓ | — |
| Audio mute, screen shake, auto-restart | ✓ | — |
| Rhythm toggle, metronome, effects, FPS readout | ✓ | — |
| Planet preference, beat sync and BPM overrides | ✓ | — |
Device preferences are deliberately local: your phone can run reduced effects and the metronome while your desktop runs everything on, from the same account. Daily bonus state being local also means two devices used on the same day can each grant the login bonus.
Co-op identifies players by a separate public id derived from — but not reversible to — your private account key. A teammate can never learn the key that would let them overwrite your cloud save.
Two devices at once
Each install carries its own id, separate from your account key and never copied by an account transfer. A run advertises the wave it has reached, and at every 10-wave checkpoint your device checks the cloud first.
If a different install is playing the same account further ahead, the device that is behind ends its run and returns to the menu rather than overwriting the leader’s save. It is a last-writer-protection measure, not a lockout — you can keep playing, you just start again from the menu.
Every save is stamped with the release channel it came from, and a save from a different channel is discarded on load — locally and in the cloud. Progress made in a testing build therefore does not carry into a later public release.
Reset Progress
Account → Reset Progress returns you to a brand-new account: gold, highest wave, upgrades, class levels, purchased ships, decals, charge skills, supports and redeemed codes are all wiped, and the daily bonus resets to day one — which re-grants the login bonus, since a reset removes your gold anyway.
It is a start-screen-only option, and the button is deliberately red. If you want to keep the account, upload first and note the code — a reset does not delete what is already in the cloud.
Related: Redeem Codes · Galactic War claims · Daily Bonus