Changelog
What's shipped, newest first. RSS
A News tab of the sites you choose, and every game coming out. One search for your games, trackers, notes and news. Steam, PlayStation and Xbox libraries come in, a box's barcode adds a game, and the Wishlist moves into Library.
The biggest build yet. Your library already lived on your consoles, so build 39 goes and gets it — and then gives the app two new ways in: news about the games you care about, and one search for everything.
Four tabs and a search [new]
The tab bar is Home, Library, News and Journal, with search in its own circle beside them.
- The Wishlist moved into Library. Collection | Wishlist at the top of Library switches between the games you have and the ones you’re waiting for. Nothing about the wishlist changed — Yours, You Might Like, Deku Deals, the countdowns and the calendar are all there. Shortcuts and widgets that open the wishlist still land on it.
- Search everything. Tap the circle and the tab bar becomes the search field. It finds your games, tracker items across every tracker, lines from your notes and memories, news stories and upcoming releases — then games from IGDB you don’t have, one tap from Add. Chips narrow it to one kind.
News [new]
A tab that reads the gaming sites you choose, in four views.
- All — every story, newest first, sized by what it has: a picture gets a big card, a headline gets a row, and a site posting ten in a row folds into one line. A marker shows where you left off.
- For You — news about the games you’re playing and waiting for first, then everything else ranked by your systems. It reorders; it never hides anything All shows.
- Topics — rails for reviews, your systems, retro, Mac and more. There’s no live Mac gaming site with a feed, so Mac gathers Mac stories from every site you follow.
- New & Upcoming — every game coming out in the next six months on the systems you choose, and what came out in the last two weeks. A port counts on its own day: LEGO Batman reaching Switch 2 is a Switch 2 release. Tap one for its dates on every platform, its trailers and the news about it, and + puts it on your wishlist.
Seven sites start on — Game Informer, IGN, Nintendo Life, Push Square, Pure Xbox, PC Gamer and Time Extension. Feeds switches them on and off, browses about forty more, adds any site by its address, and imports an OPML file from Inoreader, Feedly or NetNewsWire.
Save for later with the bookmark on any story; saved stories sync. Open stories in Safari’s Reader or on the website — and Safari ad blockers you’ve turned on work in both.
Scan the box [new]
Add Game → the barcode button. Point the camera at the back of a game box: if ScanDex knows it, the Add screen opens with the game, its console chosen and Physical ticked. A box you’ve scanned before opens the game you have. A box nobody has matched yet, you find by name — LevelSelect remembers the barcode on it and shares the match with ScanDex so the next scan works.
Games you might like [new]
Library → Wishlist → You Might Like reads the games you rate highly, play and finish, and shows ones that resemble them that you don’t have — in your series, from your studios, what players compare them to, and games out recently or still to come. Each says which of your games it came from. What you’re into follows or hides studios, publishers, tags and systems; followed ones come first, hidden ones never appear, and your choices sync.
A game page does the same for one game: more from its series and its studio, and more from the people credited on it — “Also scored by Michiru Yamane”.
Your consoles’ libraries [new]
Steam, PlayStation and Xbox
Settings → Steam, PlayStation, or Xbox. Each one reads what you have played there and brings it in for review, the way a CSV import does — nothing is added until you have looked.
- Xbox signs in on Microsoft’s own page. LevelSelect never sees your password.
- PlayStation uses the same sign-in as Sony’s PlayStation App: paste the NPSSO code from playstation.com once, and the app keeps only the sign-in it trades it for. Sony doesn’t publish this route for other apps, so it could stop working without warning.
- Steam reads your library with the Web API key you registered on Steam. Steam only answers when your profile’s game details are public.
Every sign-in and key stays in your device’s Keychain and talks to Sony, Microsoft or Valve directly — never through LevelSelect’s servers, and never synced. Steam and PlayStation playtime lands on the game as its own playthrough, and running the import again doesn’t count it twice.
Achievements come with them. A game’s page can import its Steam achievements, PlayStation trophies or Xbox achievements as a list, with what you have already unlocked ticked. Steam’s lists don’t need your key at all.
An import that knows which game you mean
Pick the right game, by its box. Tap the arrows on any row and choose from the games IGDB found — each with its cover, its release date on your console, and what else it came out on. Press and hold one to see the box at full size. Modern Warfare 3 (2011, Xbox 360) and Modern Warfare III (2023, Xbox Series) differ by one numeral; now they look it. A search box finds anything the title didn’t.
It starts on the right one. A name with no exact match starts on the game from the console the service reported, not whatever IGDB ranks first. “Brink™” is Brink, not Brink of Consciousness — trademark signs and punctuation no longer stop a match.
The console you played it on. Xbox lists every machine a game runs on, so a 360 game also names the Series consoles. The import starts each game on the newest console you have, and the console under each row is a menu: tick one, or several. A game you have on the Switch and played on the 360 can say both.
- It offers the machines the game is on that you own, even ones the service didn’t name — Minecraft Dungeons on the Switch, Mac for a Steam game, a PlayStation VR headset, or the Quest, Vive, Rift or Index you play Steam’s VR games on. A Steam Deck or Steam Machine is offered on every Steam game and never assumed.
- Console for all sets every row that offers a console at once — Mac for everything that runs on it, say.
Games you already have get the console added. A game in your library comes in as “In your library — adds Xbox 360”, and importing it adds that console and changes nothing else. Run an import again and it has nothing to show, rather than a sheet of games you already own.
Companion apps start unticked. Halo Waypoint and the Minecraft Launcher are listed as games; a row with no achievements and no exact match on IGDB waits for you to tick it.
RetroAchievements too. Settings → RetroAchievements → Import my RetroAchievements library brings every game you’ve played there through the same review. A scored list shows its points — “12/74 pts” — and opening a game checks for new unlocks on its own.
itch.io comes through the same review. A game IGDB knows by exactly that name is matched to it; the rest come in as named, with itch.io’s own cover.
Maps beside the tracker [new]
The tracker, the map and the videos open side by side in any combination — tracker and map, tracker and video, all three with video above the map, or any one alone. On a wide screen the checklist takes the room it needs and the map takes the rest.
Pin a List. A category of pins — every shrine, every seed — is one list you place pin by pin, with a count of how many are placed and Undo for the last one. Each list can have its own pin icon.
Found is per playthrough. Mark a pin found and it’s found in this run. Start a new playthrough and it’s unfound again, drawn with a dashed ring that says you found it before.
Counted items count. Nine hundred Korok seeds are one row that counts up, not nine hundred rows nobody could scroll. Finding one seed’s pin counts one seed, finding it twice counts it once, and two devices’ finds add up instead of overwriting each other.
Lists, generated the way you planned them [new]
Regenerate This List… replaces the list under one category and keeps its pin. Update My Lists refreshes the generated ones and leaves your pasted lists, Personal Goals and imported achievements alone. Generate All Planned fills the empty plans, in tracker order, and a regeneration is told the categories you already have, so it fills your plan instead of inventing its own.
Parties, runs and focus [new]
A list can be a roster. Recruits, confidants, a team: each unit keeps its own fields — class, level, the emblem it carries, whatever the game needs — and you mark who’s in your party, up to the game’s limit. In a permadeath run a unit can fall, and a quest can be in progress, failed, missed or skipped instead of only done. A story list knows which chapter is next.
Plan asks what the tracker is for. Story only, a simple checklist, party and roster, or everything for 100% — the choices depend on the kind of game, and the plan fits the answer.
Focus. Choose Focus picks the lists a playthrough is chasing; the rest fold away and progress counts only what you chose. A new playthrough asks What’s this run for? A list can count, not count, or give partial credit, and it can be remembered across playthroughs instead of starting empty each run.
Runs you can compare. Run Fields records what each attempt was — numbers, times, choices, lists filled during the run — with personal bests marked, and Suggest Fields proposes them for the game. A list can tick itself from your run history. Life sims get a filter row — season, weather, biome — across every list.
Your library, your order
- Arrange This Shelf. Press and hold a Home shelf’s title to drag its games into your own order. A game that joins the shelf later goes in front, so what you just started is never buried.
- Replace Library with Backup makes your library match an export exactly, and Erase Library clears it — both with a preview, a typed confirmation, and a safety copy saved to Files first.
Also new
- System names — PC can be PC, Windows, Linux or Computer, and its settings row says what it covers. A console’s own page offers its names when it has more than one.
- Console nicknames — give your own machine a name of its own, without changing what the console is called everywhere else.
- The hero card’s own color, separate from your accent and background.
- Your games in Spotlight, each with its platform, status and hours, and readable by Shortcuts’ Use Model action.
- A Play Session control for Control Center, the Lock Screen and the Action button: on starts the game you were last playing, off stops it.
- Open Section in Shortcuts and Siri reaches News and Search too.
- “Search LevelSelect for …” in Siri opens search with the words filled in, and a name Siri splits — “silk song” — still finds Silksong.
- Siri knows your games’ names. “Open game in LevelSelect” and “Start a session for game” had never been told them, so they fell through to a web search.
- Settings → Siri & Shortcuts, under General: what to say, a link to LevelSelect’s page in Shortcuts, and the Siri switch there that has to be on.
- Tapping Search puts you in the search field, ready to type.
- Add from the top. The Add screen’s confirm step has Add in the top corner, so a long game description doesn’t stand between you and the button.
Fixed
- An import of more than sixty games ran into IGDB’s limit, and every game past it came back with nothing to choose from. It waits its turn now, and says so.
- Connecting a different itch.io account kept landing you in the first one. Each sign-in starts fresh.
- Adding a plan’s items with Add New left it sitting among the unfilled plans, and the summary claimed it had removed as many items as it added.
- Replacing a tracker dropped your planned categories.
- Renaming a console — Genesis to Mega Drive — emptied a smart collection or Home Screen widget saved on it. They remember the console now, not what it was called.
Your consoles are things you own now, in a case under your name — each one a record with its own photo, and the machine you actually had shown on it. Maps come to the game page, and every color works on both grounds.
Home used to decide for you what came first. It was a fair guess — what you’re playing, then what’s next — but it’s your page, and the guess said nothing about who you are.
Home is yours to arrange [new]
The display case. Your consoles sit under your name in a three-wide case, six at a time, the rest behind See all. Press and hold it for Arrange Systems: how many reach Home, the order — drag it, or pick North American release order, most games, or A–Z — and whether you’d rather have a scrolling row than a case. Someone with four systems will want the row; it’s a switch.
Every shelf is a choice. Press and hold any shelf for Arrange Home: drag the blocks, switch any of them off, and bring Backlog or Finished up from Library if you want them here. This order follows you to your other devices — a self-portrait isn’t a per-device setting.
See all shows the consoles. The case holds six; “See all” opens every console you own as a grid, in your order. Tap one for your games on it.
A collection can be a shelf. “Six That Made Me” on Home, its covers under its name, says more than a tile in a row of tiles. Open a collection and choose Show on Home from its ⋯ menu, or press and hold its card in Library. Remove it the same way.
A collection can fill itself. Set Library’s filters — Backlog, on the SNES, physical — and save those filters as a collection. It’s a Smart Collection: add a game that fits and it’s in, change the game and it may leave. It can live on Home like any other.
A new library leads with the question. Before a single game, Home asks which consoles are yours.
Maps, with pins that mean something [new]
A game page has a Maps section now. A map is a picture you own of the game — from your Photo Library, from Files, pasted, or found: give the finder a wiki page and it reads the map images off it, checks each one exists, and keeps the site it came from with the map.
Open one and pinch, pan, and drop pins — press and hold anywhere, or use Place to pan the map under a ring. A pin is a collectible, a note, a warning, or a secret; the legend at the bottom is also the filter. Mark a pin explored and it dims with a check; Left and Explored split what’s still out there from what isn’t.
Link a pin to a tracker item and they become one thing. The pin takes the item’s name, shows its checkbox, and ticking either one ticks the other — with the same journal line. From the tracker, an item with a pin says “On the map”; one without offers Pin on Map… and opens the map with the item already chosen, two taps from “where is it” to a pin that ticks.
Maps sync with your library, go to Recently Deleted when you delete them, and come with an export.
Seven colors, and nothing to get wrong [new]
The color picker is seven circles. Pick one for the accent and it’s the same color on both grounds — writing in its darker step on light, as itself on dark, so nothing ever needs correcting. Pick one for the background and the ground becomes that color laid over the app’s gray and charcoal, which cannot make text unreadable however you choose. The preview shows both grounds at once, side by side. The hue plane, the hex field and the saved swatches are gone; so is “Match light and dark”, because the palette is the matching.
Buttons look the way the palette does: the accent as the fill, its step as the ink and as a hard edge beneath. Play on Home, Start Session and Place on a map lead; no more white text on a light ground.
Your consoles are things you own [new]
A console used to be a word on a game. It’s a record now: how you have it — the same nine ways a game can be yours — when you got it, and a photograph of the actual machine on your shelf.
It fills itself in. Add a game on the SNES and the SNES is yours; a physical game on a console you only emulate asks first, once, and remembers your answer. Nothing is ever assumed from a display copy.
Which one you had. A platform is thirty years of different objects, so the console page asks which machine to draw: the Funtastic N64 or the charcoal one, the front-loading NES or the top-loader, a Switch Lite in coral, a Game Boy in Play It Loud yellow. Underneath, Machines you have had keeps the whole lineage, oldest first — the Mac from 1984 and the one on your desk today.
Consoles export with your library, and deleting one leaves it in Recently Deleted for thirty days.
A color for light and another for dark [new]
The palette is seven pairs plus Mono, and each appearance gets its own. Tap the light half of the preview and pick; tap the dark half and pick something else. Follow the system and the app changes with it — accent, ground, widgets and all. “Use the default colors” puts both back to what an empty library looks like.
The play controls answer your finger now: a firm tap when you start or resume, a lighter one for pause and stop, and a small success when a session is logged.
Choose many games at once [new]
Library or any console page → Filter → Select Games…. Tap the ones you mean — each gets a check and an accent outline — then set the console you own them on, or their status, for all of them together. It’s the fastest way to fix a hundred games that came in from another app on the wrong system.
Bringing a library in [new]
Settings → Your data → Import from CSV reads an export from Gamery, Backloggd, a spreadsheet, or anywhere else. A row that carries an IGDB id is matched by it, exactly, rather than guessed at from its title — so an export that has them arrives with nothing to check. A cell naming two systems (“Xbox,Mac”) makes the game yours on both. Everything is reviewed before a single game is added, and it waits if iCloud is still bringing your library down.
Also new
-
Your series, from Wikidata. When IGDB filed a game under no franchise, Game Info’s Series line and the “More from…” shelf use Wikidata’s series instead.
-
Paste a Google Sheets link. In a tracker’s list importer, paste the sheet’s link and Read: the tab’s rows come in for review like any pasted list. No account, no key. If the sheet’s owner has turned off downloading, it says so.
-
The case is six across on iPad and Mac, one row of hardware instead of a phone grid stretched.
-
Continue Playing is three things, not one. The cover and the words open the game; Play, Stop, and Resume are their own buttons beside it.
-
Settings in dark mode has a solid ground behind every page, so covers no longer bleed through the sheet — and every page stands on the ground you chose.
-
Move a pin. Open it and choose Move Pin; the map pans under the ring and Place becomes “Move here”.
-
Delete a memory, from its sheet or its row’s press-and-hold. It waits in Recently Deleted for 30 days with its pictures.
-
Maps sit after the tracker on the game page, and Compact is the default tracker layout.
-
Ownership & access, Custom order: the chips grow a grip and drag onto each other, right in the row.
-
The systems case folds a console stored under two spellings into one tile, and its press-and-hold offers Arrange Home and Hide from Home like every other shelf.
-
A busy spreadsheet tab — a banner, a list, and calculators beside it — reads as the list, named by its own header.
-
Recently Deleted names a map. Search shows only the collections a match is in. On iPad your name and picture are centered and a size up. The tracker page wears the game’s logo as its title.
-
Memories in Recently Deleted. The one thing you could write that couldn’t be recovered. Restoring a memory brings back the pictures that left with it.
-
The in-app question waits until a game has been in your library for a day, rather than appearing beside the first title you type.
-
Ownership & access — the settings row’s new name, since five of its nine words aren’t ownership.
-
Swipe through the pictures. Open a screenshot and swipe for the next one; tap another trailer and it replaces the one playing, without closing anything first.
-
Spin the art in place. Drag a game’s cover or logo on its page and it tilts and springs back. Right-click either one — press and hold on a phone — for all three artwork choices.
-
Three columns on a wide window. Open the tracker and the videos on a Mac window wider than 1,400pt and the game page stays beside them rather than sliding off.
-
All Game Pages is a window of its own on the Mac, so you can drag it off the header you are changing and watch the page change behind it.
-
The Mac saves where you say. Export opens a real save panel, every settings page wears the app’s colors, and Escape closes a sheet.
Fixed
- A memory written after 8 PM Eastern was filed on tomorrow. It’s filed on the day you wrote it, in every time zone.
- Adding a map from the Photo Library opened nothing. It opens the picker.
- The ⋯ button’s shadow in light mode read as a gray smear. It’s a quarter of the weight there.
- The Theme & colors page kept the old accent on its own icon after you changed it, and its swatch drew the ink rather than the color you picked.
- A game page layout that no longer exists (“banner”, from an old build) repairs itself to Showcase instead of syncing forever.
- Scrolling down a game page and then resizing the window sent you back to the top. It keeps your place, both directions.
- A ground chosen for dark mode was being worn by light mode’s Home Screen widget, and a game page kept the app’s built-in purple instead of the color you chose.
- The color editor could show colors you were not wearing after iCloud synced a change; the app now re-reads the theme whenever a sync lands.
- On the Mac, the settings sheet’s Done sat on every page, above the color editor’s own Cancel and Done. It belongs to the settings home page.
Your console is called whatever you call it. A game is yours in whatever way it's yours — rented, borrowed, shared, or played standing up in an arcade. And the app finally has one place to choose a color, with both appearances shown at once.
A library is full of words somebody else chose. The console is a Mega Drive or a Genesis depending on where you grew up. A game is owned or it isn’t, except you borrowed it from a friend for a couple of weeks in 1997 and beat it anyway.
This build is mostly about giving those words back.
Consoles go by the name you call them [new]
Settings → System names. Mega Drive or Genesis. Super Nintendo or Super Famicom. TurboGrafx-16 or PC Engine. Pick one and it changes every shelf, chip and widget that names that system.
The ones you own are listed first, because those are the three you’ll actually change. The rest are still there with a note saying your choice is remembered for when you do.
Renaming changes the label and nothing else. Your games keep the platform they were stored with, so a rename can never split one shelf into two.
How you have a game, in your words [new]
The ownership row used to offer three answers. It now offers nine, and you choose which of them your library uses:
Physical · Digital · Emulated · Former — the ones you have. Subscription · Rented · Borrowed · Shared · Arcade — the ones you only reach.
Four of those are new. Rented is the weekend from a shop that no longer exists. Borrowed is a friend’s cartridge or a library loan. Shared is a household — family sharing, a home console. Arcade is the one where the copy never comes to you: you go to it, pay per play, and leave it there. You can beat a game you only ever played in an arcade, and now you can say so.
All four are off by default, so a row nobody configures is still five chips. Turning one off only hides it — a game already marked with it keeps the mark and keeps showing it, so nothing you recorded is ever lost to a vocabulary choice.
And you can order them: the app’s own order, most-used-in-your-library first, or drag them where you want.
One place to choose a color [new]
Accent and ground in a single editor, because they’re chosen against each other. Light and dark are previewed side by side with the contrast ratio on each, so you can see what a color does to the appearance you’re not currently in.
The swatches only offer colors that stay readable. Pick a hue and a saturation and the app supplies the brightness for each appearance — which means no color you can choose can make text unreadable, and where it has to soften a saturation to get there, it says so rather than quietly doing it.
Browse by genre [new]
Every game has carried genres and themes since it was imported, and until now you could only reach them from a game that already had one. Library lists them now, largest first, counted from the games you’re actually looking at.
The tag field suggests words [new]
Forty-six subgenre terms — Metroidvania, Soulslike, Immersive Sim, Boomer Shooter, Cozy — offered under the tag field. Curated around where the metadata stops answering the question: calling Hollow Knight, Celeste and Super Meat Boy all “Platform / Adventure / Indie” is true and no help.
Nothing is applied for you. Tap one and it becomes an ordinary tag, indistinguishable from one you typed. Free text still works exactly as it did.
Who made it [new]
Game Info now shows the director, designer, writer and composer where they’re known. The studio comes from IGDB, which has no person-level credits at all; the names come from Wikidata, and the section says which is which. Where the two disagree about a release year, you’re told — not corrected.
Seasons, decades, and dates you’re not sure about [new]
A memory can be filed to a season or a decade, not just a day, a month or a year. And “Christmas 1995 or 1996” is a thing you can now write down: it lands on both candidate Christmases and says it’s uncertain, rather than being flattened to 1 January.
Time played before you started tracking [new]
Steam says 42 hours. A Switch profile says 9. Those hours are real and there’s no session history behind them, so a game page now takes a starting total — a number that adds to your time and stays out of your session history, because it never happened on any one day.
Everything now happens in the app [new]
Send feedback goes straight to Tim from inside the app, with an “include diagnostics” switch and a button to read every word before it sends. What’s New and What’s Coming read this site rather than opening it in a browser.
Nothing is ever sent until you tap Send. Titles, notes, your profile and any keys are never included, and the screen says so.
Recently Deleted holds pictures too [new]
Deleting a picture puts it in Recently Deleted with everything else, restorable for 30 days, with Delete Forever when you’re sure. The 30-day promise is now on the screen where the clock is actually running.
Settings is an index [improved]
Sixteen rows instead of nine long screens. Each one says what it holds.
Also improved
- One shelf header everywhere, and the tab titles sit at full size on the toolbar row.
- The game page’s status and platform stack rather than truncating when they don’t fit side by side.
- Home says what its shelves are for while your library is new, and stops once it isn’t.
- Ownership, status and star words all sync, so a phrase you chose is a phrase your iPad uses.
- Status colors reach the Home Screen, the Lock Screen and the watch.
- Press and hold any cover for Deku Deals and IGDB.
Fixed
- A cover you picked from your own photos was invisible on every shelf, the Home header, the Journal and Recently Deleted. It draws everywhere now.
- Two “single” records meeting after a sync could lose a name, an avatar, a set of handles or a name color. They merge without losing anything.
- A wanted game put its system in a filter that could never show it.
- A memory with no day was filed on 1 January.
- A day holding both a session and a memory appeared as two separate sections.
- Journal day cells were readable by VoiceOver but never announced as controls.
- Calendar day numbers vanished into bright cover art.
- The ”…” on a game page was invisible over bright key art.
- The precision picker had grown a sixth option that truncated before you touched it.
- American spellings throughout, including two that had shipped.
The Stats tab becomes the Journal — everything you've written down, in order, with room for the thirty years that happened before you installed this. And the whole app can be light now, in whatever color you like.
You have been writing things down in this app since the first build. A note on a session, what you thought when you finished something, why you put a game down. All of it was real, dated, synced — and every word of it was only ever visible inside the sheet you typed it into.
So the Stats tab is the Journal now, and the charts are one of the things inside it.
Everything you’ve written, in order [new]
The timeline is built from what was already there. Nothing new had to be stored to show it.
A day of a game is one entry. Three sessions of Hollow Knight on a Saturday used to be three rows saying the same game’s name three times; now it’s one — “5h 59m · 2 sessions” — and tapping it gives you the day in full: each session with its own note and time, any runs, and whether that was the evening you finished it.
Tap to read, press and hold to edit. Reading is what a journal is for, and tapping used to open an editor.
And it asks. When you stop a session, it asks what happened — once, while it’s still what you were just doing. That’s the note that makes a journal worth re-reading, and before this the only way to write one was to go back and edit a session you’d already finished.
Home is a scroll and the Journal is a closed book, which is the actual difference between them: one is the log you’re still working through, the other is the history already written.
Things that happened before you had this [new]
The app could only hold what it watched. Your library starts the day you installed it, and the part of your gaming life worth writing down mostly doesn’t.
Memories fix that. Something that happened, when it happened, who you were with, where — and pictures.
The date input is the whole point. Every other date field insists you know the day, and the entries people most want to write are the ones they know least precisely. So how well you know it is a choice: an exact day, a month, a year, or not sure at all.
“Christmas 1995 or 1996” is a real answer. Write it that way and that’s how it’s shown — always your words, never re-rendered from a date the app made up. If you know the day but not the year, say so, and it sits on Christmas Day of the first year with a mark saying the year is uncertain. It won’t quietly file it under 1 January, which is nearer the previous Christmas than either one you meant.
Pictures go on a memory. One becomes the header, several become a grid, and any of them opens full size.
A year of play, in one screen [new]
The Journal has three views now: Timeline, Calendar, Charts.
The calendar opens on a year, because thirty years of history one month at a time is three hundred and sixty screens of scrolling. A year is twelve small months and a heat map — where you played, how much, all at once. Scrub the years along the top; ones with something in them stand out, and empty ones are still tappable, because the year you have nothing in is exactly the year you’re about to write your first console into.
Tap a month and it opens properly: full box art on every day you played, the memory’s own photo where there is one, and what the month added up to underneath.
Any empty day is a +. Tapping the 14th is the same as adding a memory and then setting its date, minus the setting.
Light mode, in your color [new]
The whole app can be light now — System, Light or Dark, in Settings.
It isn’t the dark theme with the colors swapped. Every surface knows which way “up” is: a card lifts off a dark ground by getting lighter and off a light one by getting darker, so the same screen reads correctly either way.
And the background is yours. Accent and background sit on one screen, so you can see a button against the ground you’re choosing while you choose it. The app’s own four colors come first, then a palette, then a hue wheel if you want to go looking. Pick a background and the app keeps its own contrast — your color, its readability — so there’s no way to choose one that makes text disappear.
The Continue Playing card follows the ground it sits on, and the widgets follow your accent into light mode too.
Ten statuses that say what they mean [improved]
Old Favorite is new, and it’s for the games that don’t fit the others: the ones you’ve played to death, that you’ll play again, whether or not you ever technically finished them. Endlessly replayable isn’t the same as unfinished, and it isn’t the same as done.
Every status now says what it means, in a line, right where you pick it. Nine shipped without that, and the cost showed up in the obvious way — statuses nobody could remember the point of.
And you can rename any of them. If Shelved is On the shelf to you, make it that.
Smaller things [improved]
- Your backup includes your memories. It didn’t. The words and the photographs were both missing from the export, quietly — which is the worst way for a backup to be wrong.
- A picture can be taken off a memory again, which it couldn’t.
- Deleting a memory takes its photos with it instead of leaving them occupying space you can’t see.
- Text boxes grow. Four of them stopped at a fixed height, which turned the field into a tiny scroller at exactly the moment you had something to say.
- A game you’re waiting for gets re-checked. Release dates were fetched once and never asked about again, so a delay could never reach you. Games that haven’t come out yet are looked up daily now, and their reminders move with them.
- Fixed: a memory with no game attached looked grayed out, as though it weren’t really there.
Stats says what it is, a game you're waiting for tells you when it arrives — on your platform, not somebody else's — and a date bug that had been quietly wrong for months got found.
Stats got the treatment Home, Library and Wishlist have had: it says what it is now. And the wishlist learned to count — a countdown on the card, a widget, a calendar, and a reminder the morning before, all pointed at the day the game arrives on the platform you chose.
That last part turned out to be harder than it sounds, and finding out why fixed something that had been wrong for a long time.
Stats is your history, in three questions
Fourteen cards in one scroll read as fourteen charts. They’re grouped now by the question each answers:
- Time — the overview, recent play, by month, your streak, most played
- Finishes — what you’ve completed, and your RetroAchievements masteries
- Library — ratings, status, system, genres, series, tags, release year
The group is fixed; the order inside a group is still yours, so an arrangement you made before this update survives exactly as it was.
Overview moved above all three. It counts games, hours, sessions and percent-finished — it’s the total the groups break down, so it isn’t one of them. It’s tiles with icons now rather than four numbers in a row, and it stays at the top.
Latest Finishes is new: the last five games you finished, with covers. Unlike Home’s recently-beaten shelf it has no time limit, because a shelf that empties is right for a prompt and wrong for the page about your history.
The streak remembers half a year. Fifteen unlabelled weeks became twenty-six with the months named — you could see a gap before but not when it was, and a streak worth being proud of scrolled out of view in under four months.
A game you’re waiting for tells you when [new]
Four things, and they all count to the same day:
- The wishlist card counts down. “in 3 days” while it’s near, the date itself once it’s further off. The switch is a fortnight, because that’s exactly where the countdown stops speaking in days — “in 2 days” is a fact about your week, and “in 6 weeks” tells you less than “Oct 16” does.
- Two widgets. Coming Soon is covers with the wait under each; Release Calendar is the dates themselves, and at the large size it draws a real month with covers standing where the day numbers would be.
- A release calendar in the app, month by month, including the games with no announced date — a calendar that quietly drops half your wishlist is lying about what you’re waiting for.
- A reminder at 9am, on the day or up to a week before. A release is a calendar date, so firing at it would wake you in the small hours for a game that isn’t out where you are yet.
Reminders can break through silent mode and Focus, and so can the still-playing reminder — one switch, on by default, in Settings.
Which date is yours [new]
A game can be out on PC and months away on Switch 2. The app could only ever hold one date, so it had to pick, and it picked using whichever platform IGDB listed first — a platform you may never have chosen.
Now every platform’s date is kept, and the one you see is the one for the platform you picked. Change it and the date follows immediately. The game page lists what a game is still coming to, each with its own date and countdown.
If your platform has no announced day, it says so rather than borrowing a date from somebody else’s copy.
Adding a game shows you the game [new]
The confirm screen was a cover, a name and a year — enough to tell two sequels apart and not enough for anything else. It now has the trailer, screenshots, the description, and the developer, publisher and genre.
It also shows the release date the platform picker was always quietly deciding, updating as you change platform, and the platform you choose is remembered rather than used once and thrown away.
Covers, screenshots and trailers all open full size, and trailers play in the app. Deku Deals and IGDB open in the app too, so checking a price doesn’t lose the search you were in the middle of.
Dates that had been wrong for months [fixed]
Onimusha: Way of the Sword sat under “No date yet” while IGDB had 4 September the whole time. Chasing it turned up the cause, and it wasn’t small:
IGDB moved where release-date precision lives — from category to date_format — and the app was still asking for the old field. Every date came back looking imprecise, so exact days were discarded and replaced with “sometime that year”. Every game added since IGDB made that change had been getting this.
The app asks for every release-date field now rather than naming them, so the next rename can’t be silent.
Three smaller date bugs came out with it, all the same mistake — a calendar date read in local time:
- A year-only placeholder is stored at UTC midnight, and west of Greenwich that reads as the previous year. The field that exists to be re-asked was therefore never re-asked.
- Game Info showed the year in local time, so a 2026 placeholder displayed as 2025.
- The placeholder itself was written in local time, which hid the first bug from itself.
And a beta is not a release. Call of Duty: Modern Warfare 4 showed as released on 28 August — that’s the beta. IGDB gives one row per release event, and the app took the first one. It takes the launch now: 16 October on Switch 2, 23 October elsewhere.
Smaller things [improved]
- The default accent is torch orange. The app’s background is dark purple and the default accent was purple, so every tinted control sat too close to what was behind it. If you’ve chosen your own accent, nothing changes.
- Widgets follow your accent for the first time, including the Live Activity.
- The Now Playing widget is gone — an “Open To…” launcher pointed at Now Playing is the same shelf from a widget that also does collections and systems, at three sizes instead of two.
- Settings answers “is my library safe” first. Sync moved to the top, and it’s a shorter screen.
- itch.io connects. Games you’ve bought or claimed there come in, with their art. It’s read-only, your token stays on the device, and it never passes through our server.
- Hand-added games get covers. Anything IGDB has never heard of now gets its artwork from SteamGridDB by name, instead of staying a gray rectangle.
- The game page has trailers and larger screenshots.
- Fixed: the logo picker let you choose a logo while logos were switched off, and then didn’t draw it. It says so now.
Build 33 gave Home its job. This one is Library and Wishlist getting theirs — three ways of saying how you relate to a game, all of them finally on screen, and a wishlist that knows what's out.
Library holds your games and how you relate to them, and there are three ways to say that: the status of a game, the system it’s on, and how you own it. Only two were ever on screen. Ownership was a line in a menu, which is a way of saying it did not really count.
So all three are visible now, and none of them ranks above the others.
Ownership is something you browse
A row of chips above the shelf: physical, digital, emulated, previously owned, each with a count, followed by your tags. Tap one to narrow, tap again to widen.
The point is what happens when you combine them. “Genesis, the ones I emulate” is two taps, and the chips stay lit so you can see why the shelf went quiet — where before you’d get four games and a filled-in filter icon explaining nothing.
If a lot of your library has no ownership recorded, a dashed No ownership set chip says how many. Tap it and you have exactly the games that need fixing; long-press any cover to set it without opening the game.
Consoles are libraries
Tapping a system used to open a bare grid. On a console with fifty games that is a wall.
It now carries the same machinery as Library itself — search, filters, sort, all three layouts — because that is what it is: that console’s shelf, seen on its own.
A game can be yours on more than one console
It couldn’t be, before. Ownership lived in a single slot, so marking a second console quietly unmarked the first, and owning something on both Switch and PC was simply unsayable.
Now it is a set. The consoles you own a game on sort to the front of its platform list, the systems shelf counts a game under each of them, and a game bought twice appears on both consoles’ pages — one game seen from two shelves.
The wishlist knows what’s out
Games you want now sort into Coming soon, No date yet, and Out now.
The middle one is the interesting one. A game can be announced without being given a date — the Ocarina of Time remake has been announced for “late 2026” and nothing more — and that is a different kind of waiting from one you could buy this afternoon. It empties itself into Coming soon the moment a day is announced.
Dates behave themselves too. They keep the day they actually have, and refuse to invent one they don’t: a game IGDB knows only the year for says 2026, quietly, rather than claiming a launch date nobody has given.
If you use Deku Deals, its list stops being a stranger. Rows say In your library or On your wishlist, and it will not offer to add a game you already have.
A menu bar, on Mac and iPad
The Mac had no menus worth the name. It has File, Edit and View now — add a game, import, search, sort, layouts, and ⌘1–⌘4 for the tabs — and the same block serves iPad, where iPadOS draws a real menu bar from it.
Fixes [fixed]
Sessions were being measured by the wrong clock. The editor showed wall-clock time rather than time played, so a timer left running overnight read as twelve hours — and saving would have written those twelve hours into your library. It now agrees with every other number in the app.
Every session is reachable, too. A game with more than five has See all, filterable to a single playthrough; before, older sessions counted toward your totals while being impossible to see or correct.
Elsewhere: the system filter listed every platform a game was released on rather than the one you own it on. Home’s header showed whichever game came first alphabetically instead of the one you last played, and a game you finished now counts as part of your week — with a Recently Beaten row for the last month.
Home was plural — twenty covers, six statuses, nothing to build a page around. The fix wasn't more shelves: the thing uniting a page full of your games is **you**. So Home became yours, Library became the collection, and Stats became your history.
The tempting fixes were all structural — tighter shelf geometry, density tiers, a hierarchy that told you which row mattered most. None of them would have worked, because the page was not badly arranged. It had nothing at its center.
Everything below follows from putting you there.
Three places, three jobs
- Home is you. Your picture and name at the top, and behind them the covers of everything you played in the last seven days — so the page looks different depending on how the week went. A quiet week falls back to one game’s artwork rather than going blank. Three numbers underneath, chosen because all three move: playing, this week, total.
- Library is the collection. Systems, collections, and every status that isn’t what you’re doing right now.
- Stats is your history. How much you’ve played, what you finished, which systems and genres you actually reach for.
- Wishlist is a tab, and only a tab. It was also a shelf inside Library, which made no sense when it has its own place at the bottom of the screen.
- “See all” lands in Library, filtered to the shelf you came from, instead of dropping you at the top of everything.
A profile
- Settings → Your profile. A picture, a name, and your handles. It draws nothing until you put something in it — a placeholder ring above “Add your name” is a form, and a form is the opposite of a personal page.
- The picture can come from anywhere you already have one. Photos, any game’s artwork in your library, or a sticker — Memoji, Genmoji, or one you cut out of your own photo. The app decides what to do with it by looking at the image: something with a transparent background is already the subject, so it goes straight in; a photo or a wide painting asks you to choose which square survives.
- Handles ask in the order the thing actually happens. Add a handle once, then tick everywhere you use it — rather than eight fields where seven get the same word typed into them. Sign up somewhere new later and you add the service to the handle you already have.
- Services you name yourself. Apple Arcade, a storefront, a forum. The list of places people play isn’t something this app can finish guessing.
- Handles are decoration and the app says so. Nothing signs in, nothing is shared, nothing is fetched. Your RetroAchievements username is the one handle that does something, and it stays where it was: in the Keychain, on your device, never synced.
Four game page layouts
- Showcase, Classic, Cover and Compact. Build 32 rebuilt the game page around one shape; this gives you the shape back. Classic is close to the original, Cover leads with box art, Compact is nearly all list.
- Each one has its own art mask and its own point where the title hands over to the navigation bar, rather than one set of numbers stretched across four very different compositions.
Logos find themselves
- Game pages fetch a wordmark automatically instead of waiting for you to choose one per game — which, across a few hundred games, meant almost nobody ever saw the feature build 32 shipped. IGDB first, SteamGridDB after, the game’s name as text when neither has one.
- Settings → Use game logos turns it off if you’d rather always read the name.
Stats cards turn over
- Tap the chart icon in a card’s corner to flip between bars and a pie. Library, Ratings, By System, Genres and Tags all flip; your choice sticks per card.
- Tap a slice, or its legend row, and the middle of the ring tells you that slice’s count and share — the question a pie usually raises and refuses to answer.
- The hole is a real hole, so the total can never be covered by the chart drawn around it.
Colors you can actually choose
- A color editor of our own, replacing the system picker: type a hex, keep a color with the +, cancel if you change your mind, and put one color back to its default without resetting the rest.
- Your name on Home can take a color — including “Accent”, which keeps following your accent as you change it rather than freezing a copy of today’s.
Smaller things [improved]
- Play is filled and in your accent. It was the most important control on Home and the lightest thing on the screen.
- Green means one thing now: a timer is running. It used to be both the Play button’s color and the running-timer color, which are opposites.
- The Continue Playing card says where you left off before it says how long you’ve played.
- Console names use their short forms on Home too — SNES, not the full name.
- The Mac settings screen is reachable and readable, and the Mac toolbar is glass across all four tabs.
- Fixed: Home broke at the largest accessibility text sizes.
- Fixed: a hard line sat under the toolbar where the header art met it.
Known [fixed]
On macOS the tab selector at the top doesn’t take your accent color. That’s macOS declining it rather than the app failing to ask — it looks fixable when macOS 27 ships.
A finish can say when it started, the stars can say what you actually mean, and the cover can be the one your copy had. The page arranges itself the way you read it.
A finish that says how long it took
- Start dates on beaten records. A finish held one date, which made a six-week playthrough and a single evening look identical. Add a start beside it — day, month, or just the year, the same as the finish — and the record reads Dec 2025 → Jan 2026. Leave it out and nothing changes; most finishes logged from memory only know their end.
Your words
- Name the stars. Settings → Appearance → Star names. “Hated it” through “Loved it” are only defaults; if three stars means comfort game to you, say so. Blank any one of them and the built-in word comes back. The names follow you to your other devices and show up in Stats.
- Two more page backgrounds — your accent color, or plain — beside cover art and status color.
Your covers
- Change Cover (⋯ menu). IGDB usually has several covers and a pile of artwork per game; now you can pick one, or paste a URL to art of your own. The fetched cover is kept, untouched, so Use fetched cover is always one tap away — and a metadata refresh or a Fix Match can never overwrite the one you chose.
- Media. Screenshots for the game, from IGDB, on the game page.
The page, arranged how you read it
- Arrange Sections (⋯ menu). Drag the game page’s sections into the order you want and switch off the ones you don’t use — the same treatment the Stats tab already had. Hiding is not deleting: a hidden Notes section still holds every note, and turning it back on brings them with it.
- Collapsing a section is now per game. It was library-wide by accident: collapsing Tracker on one game quietly collapsed it on all of them. A game with a hundred objectives and a game with none can want different answers.
The library you had, and the words for it
- Previously Owned. A fourth ownership chip for the copy you sold, traded, or lent to someone who moved away. A library that spans your life holds games you no longer hold, and the only honest options before were to pretend you still owned it or to delete the history.
- Tag suggestions. Start typing a tag and the ones you already use appear underneath. Left alone, a hand-typed vocabulary splits into
roguelike,rogue-likeandRoguelikeinside a month, and once it splits the tags stop being worth filtering by. - Manage Tags (Settings → Manage Tags). Rename a tag everywhere, merge two by renaming one onto the other, or remove one from every game. Each says how many games it will change before it changes them.
The game page is rebuilt around its own art — full-bleed key art, the game's logo where its name used to be, and the numbers that answer how long have I spent on this. The ⋯ menu went from fifteen things to seven.
The header
- The art is the page now. The backdrop used to sit behind the game’s name, which meant it had to be blurred into a wash so the words stayed readable — you could change the image and not be able to tell. Everything that has to be read moved onto a translucent panel in front, so the art holds full strength, runs under the navigation bar, and scrolls away with the header instead of sitting under the section list.
- Your game’s logo, where its name was. A wordmark says Hades faster than the word does. Logos come from IGDB and SteamGridDB automatically; the name renders as text when there’s no logo, when you turn it off, and always at large text sizes — a logo is a picture of text and can’t grow with Dynamic Type.
- Key art without a logo is preferred for the backdrop, now that the page draws the logo itself. Otherwise the name appeared twice, at whatever size the publisher chose.
The numbers, back where you can see them
- A stats row on every game page: played, sessions, beaten, and runs on games that log them. The web app had this and the native app lost it — the figures were inside the Sessions section, so collapsing a long list of sittings took a game’s total playtime with it.
- Lifetime totals, across every playthrough. The old number described one playthrough, so starting a second made the figure on screen quietly smaller than the truth. How long have I spent on this? has never meant since the most recent restart.
- Switch the row off if you don’t time your play. Settings → Game pages & trackers → Arrange game pages. A permanent “0s played” is a reproach to someone who just wanted to catalog a shelf.
Artwork has roles
- Cover, logo, and backdrop are three separate slots, each with its own picker, each fillable from IGDB, from SteamGridDB, from your own photos or files, or from a pasted link.
- SteamGridDB joins IGDB. IGDB’s art is the publisher’s and stays first; SteamGridDB fills the gaps, which for logos is most of the catalog. No account, no key, nothing to set up.
- Your own images sync. A photo of the box you actually owned is a legitimate cover.
The ⋯ menu is seven things
- It was fifteen, ordered by whichever build added them, and long enough to scroll. Opening it no longer answered a stable question.
- Everything else moved to the surface it affects. Run logging sits in the Runs section; tracker layout and hints sit in the Tracker section they change; arranging game pages moved to Settings, where a library-wide preference belongs instead of masquerading as an action on one game.
- One vocabulary for status. The game menu said Playing and Queued while every shelf, filter and setting beside it said Now Playing and Up Next. Status is a central idea here; it doesn’t get to change names depending on which screen you’re on.
- Deleting a game asks first, everywhere. The same delete was confirmed and explained from the page and instant from a long press, so what “Delete” meant depended on where you were holding.
Smaller things [improved]
- Rating labels, colors and page background reset independently now, so fixing a backdrop no longer throws away five rating labels you wrote by hand.
- Console names use their short forms in the header — SNES, not Super Nintendo Entertainment System wrapped over two lines.
- The ownership chips stop wrapping awkwardly on narrower phones.
- Fixed: the color picker closed Settings the moment you touched a color, so a color could be stabbed at but never adjusted.
- Fixed: on iPad in landscape, the header art sat below the bars with an empty band above it.
The tracker now tells you what you were doing, not just how far you got — and the note you can leave on any item finally says its own name.
The game you haven’t opened in three weeks
- Where you left off. The Tracker section now leads with the last thing you ticked, when you ticked it, and your note about it if you left one. A percentage tells you how far you got; it can’t tell you what you were in the middle of. Coming back to a save after a month shouldn’t feel like reading someone else’s file.
- Home says it too. The Continue Playing card told you how long ago and for how long, never what you were doing — the actual question you opened the app with. It now carries the last thing you ticked, and so does the Continue Playing widget, so the answer is on your Home Screen before you open anything.
- Notes say their own name. Any tracker item can carry a note of your own — which was true before, and unfindable, because it lived behind a press-and-hold menu item called “Edit”. The menu now offers Add a Note (or Edit Your Note) outright, alongside Rename, Location & Note. The docs explain it too, which they never did.
Finishes you can correct
- Edit a beaten record. Tap any entry under Beaten to fix a date you now remember better, change what it was, or add detail. Previously a finish could only be deleted and re-entered.
- Played with. Record who was there — as many people as were, each with a name, a gamertag, or both. It goes on finishes, sessions and runs, because co-op is mostly an ordinary evening rather than the credits. After the first time, the app offers the people you’ve played with before: one tap puts the name and handle back exactly as you had them. It’s written down and nothing more — no accounts, nothing shared, nothing to sign into.
- A playthrough can say how it ended — finished, dropped, shelved, or the save was lost — with the sentence explaining why, which is the part worth keeping. Status lives on the game, so until now the save you abandoned looked identical to the one you love. Nothing is ever assumed from inactivity.
- Hints, per game. Play one game blind without giving up hints everywhere else (⋯ → Item Hints).
Small things [improved]
- Runs and Beaten stop sharing an icon. The checkered flag belongs to Beaten — it’s the finish line. Runs takes the repeat glyph, which is what a run actually is: another attempt.
- The tracker mentions notes once, if you have items and haven’t written one, and stops mentioning them the moment you do.
A full widget ecosystem — iPad extra-large boards, Lock Screen dice and gauges, art-wall launchers — plus a Fix Match for wrong games, a fill for missing info, and stats you can rearrange.
Widgets, everywhere
- iPad gets its biggest size, three ways. A Command Board (your game, its next objectives, the shelf, the week, the ring — one glance), a twelve-cover Shelf with status dots, and Where You Stand — a truthful progress bar for every game you’re playing.
- “Choose a Game for Me.” A die on your Home Screen picks something off your shelf and stands by it until you roll again. You choose what it may pick from — statuses, one system, whether finished games count (short retro games are endlessly replayable). It never rolls the same game twice in a row.
- A die on the Lock Screen too — tap and the app opens on a fresh random pick, with a dice-tumble haptic and a “Rolled:” banner with a re-roll button.
- The Lock Screen bar fills up: the completion ring is joined by the die, a week gauge measured against your own four-week pace, and a play streak that doesn’t count today against you until it’s over. The next-objective widget gained a real tick button — clear a boss without unlocking.
- Launchers that are portals. “Open To…” jumps straight into a collection, a status shelf, or a system — and at medium and large sizes it shows the actual games inside as an art wall. A system launcher wears the real console icon, nearly full-size on the small widget.
- Cover art fills its frame everywhere, edge to edge — no more letterbox bars, no more washed-out covers on Clear and Tinted Home Screens — and it stays full-color where the system allows.
- A play heatmap (sixteen weeks, one square a day) and a library-wide finished ring join the Home Screen set.
Knowing your games are right
- Fix Match. If a game is matched to the wrong IGDB entry, the ⋯ menu now fixes it: search by name or id, pick the right one, and everything fetched is replaced while everything you wrote — name, rating, notes, tags, progress — stays put.
- Fill in missing info. One button looks up what your library never knew — release dates, genres, developers, covers — and only ever fills empty fields. What you’ve typed or corrected is never touched. Games IGDB can’t help with rest for a month instead of being offered forever, and “no series” is treated as the fact it usually is.
- Trackers say what they apply to. A tracker can now carry its scope — platform, edition, DLC or patch range — shown right beside its numbers, because numbers for the wrong edition aren’t true numbers.
- Achievement lists are labeled honestly all the way down. An imported RetroAchievements set now records itself as imported, not AI-generated — in the data, not just the badge — and a refresh that drops achievements you’d finished offers to keep them as Personal Goals instead of losing them silently.
Stats
- Arrange it yourself. Reorder the Stats cards by drag, hide the ones you don’t read — per device, with a reset that always brings everything back.
- Years fold into decades, expanding to tappable years, and phantom 1969 release dates from old imports no longer haunt the chart.
Recently Deleted arrives, the export file learns to come home as a real backup, and the app becomes legible at every text size — with VoiceOver that says what things are.
The safety net
- Recently Deleted. Deletion in LevelSelect has always been soft under the hood; now the way back is a screen. Settings → Your data → Recently Deleted lists every game, playthrough, and collection you’ve deleted, each with a one-tap Restore. Nothing auto-purges — what you deleted waits for you, however long that takes.
- Delete Forever is the only hard delete in the app, and it lives here, behind the app’s only double-confirmation. Everything else is always recoverable.
The export comes home
- Import LevelSelect export. The readable JSON file that Export writes is no longer a one-way record — pick it in Settings → Your data and the app restores whatever the file has that your library doesn’t: games, playthroughs, sessions, runs, tracker progress, completions, videos, maps and markers, collections.
- It never touches what’s already here. Import is additive by id — a record you still have is skipped, edits you’ve made since the export survive untouched, and running the same import twice changes nothing. You see exactly what will be restored, and what’s already present, before anything happens.
- Together, that closes the loop: export is now a real backup, not just a record. iCloud keeps devices in sync; the export file is the copy you keep.
Legible at every size
- The largest text sizes now reflow instead of clipping. At accessibility text sizes the game page stacks its cover above the details, Stats folds its overview into a 2×2 grid, and buttons that used to truncate (“P…”) show their symbol and speak their word.
- VoiceOver says what things are. A library row reads as one sentence — name, status, platform, rating. A tracker tick says what it ticks and whether it’s done. The play heatmap summarizes itself instead of reciting 105 squares. Missable warnings, count steppers, and remove buttons all have names now.
- Reduce Motion is honored everywhere — banners fade instead of sliding, joining the cover shine and timer pulse that already knew how to hold still.
RetroAchievements' badge art arrives on every imported row, a mastery wall lands in Stats — and beating a game becomes a recordable moment, past years included, separate from finishing your list.
RetroAchievements, visibly
- Every imported achievement wears its badge. The art RA’s community drew for each achievement now sits on its row — full color once you’ve earned it, RA’s own grayed variant while you haven’t, so nothing unearned ever looks earned. One switch in Appearance turns the art off if you prefer plain rows. Already-installed sets pick their badges up on the next refresh.
- A trophy shelf in Stats. Every set you’ve mastered or completed, as a wall of RA’s game icons — gold border for hardcore mastery, because that distinction is RA’s and the app keeps it honest. Tap any icon to open that set on RetroAchievements.
- Doors out. The set’s page on RA from the tracker and from the game’s link row, and your own profile from RetroAchievements settings — all in the in-app browser.
Play blind, peek on purpose
- Hide item hints. A new Appearance switch strips tracker rows down to their names — no descriptions, no locations, no spoilers at a glance. Press and hold any row to peek at exactly that one item’s hint and location, so checking one objective never spoils the ones below it. With rows this bare, RetroAchievements badge art grows to fill the space.
Rolling credits is a moment, not a checklist
- Mark as Beaten. From a game’s page (the Beaten section, or the ⋯ menu): beat the game, 100%, New Game+, or your own words. Beating a game and finishing every item on your tracker are different achievements — now both are recordable and neither pretends to be the other. “100%” means all of your list, the one you chose to keep; it doesn’t claim a platinum.
- Dates as fuzzy as memory. An exact day for last night’s credits, a month for “sometime that spring,” a bare year for the game you beat in 2011 — stored and shown only as precisely as you actually know. Logging your history needs no sessions and no retroactive box-ticking.
- Stats answers “what did I beat this year?” The Completions card becomes Beaten & Completed: each year shows both counts and opens into the actual list of games.
- A beaten moment knows which run it capped. Marking a game beaten can point at the playthrough it finished — that run shows a checkered flag in the picker, and starting fresh leads the menu once your current run is done. Historical beats stay “just the game.”
- Status shelves grow up. Every shelf (Completed, Backlog, all of them) now sorts — name, last played, recently added, rating, release year — and can show as a cover grid.
Trackers are planned from the game's real identity instead of its name, run loadouts come from your own tracker, Stats grows the depth it was missing, and the wishlist becomes yours.
Generation
- The generator knows which game it is. Every request now carries the game’s database identity — and its genres, themes and a one-line summary — instead of a bare name. A 2026 Pokémon sandbox no longer gets a mainline Pokémon plan because the model recognized the franchise; spin-offs, remakes and games that share a title with something older all plan as themselves.
- Counted categories actually generate. A set the plan called “one counter up to 700” used to fail after ninety seconds with advice to rename the category — the count was never sent to the server. It is now, and a counter comes back as a counter.
- A failure names the real problem. The wrong-game error no longer blames a category name the plan itself chose.
Runs
- A run’s loadout comes from your tracker. The keepsake picker is your Keepsakes category — filtered to the ones you’ve unlocked — and aspects narrow to the weapon you chose. No more typing “Old Spiked Collar” by hand.
- Ending a run asks what only the end knows — which gods showed up, where you fell.
- Analytics, once you have a few runs. Win rate by weapon, by keepsake, by anything picked from a list — with the raw fraction always beside the percentage, because “100%” alone and “1/1” say very different things. Free-typed fields never aggregate; typos would fragment every group.
- History can filter to wins or losses once there’s enough of it.
Stats
- The depth the screen was missing: your finished share, average rating with how many games it’s an average of, the star distribution, hours and finishes by month, and a fifteen-week play heatmap.
- Every slice is a door. Genres, tags, series and release years don’t just show counts — tapping one opens everything in your library that matches, the same screens the game page links to.
- By system, counted the way the library groups them.
Widgets
- Cover art survives Clear and Tinted Home Screens. Covers now stay full-color instead of flattening into white rectangles.
First run
- A welcome, once. New installs get one screen — what the app is, and that there’s nothing to sign up for — then the same two buttons the empty shelf offers. No tour, and it never comes back.
Search
- Search reaches everything a game page shows. Developer, publisher, genre, theme, perspective, mode and platform — typing “Capcom” surfaces everything Capcom made or published, without needing a filter for it.
Wishlist
- A wishlist of your own, beside the Deku Deals view instead of behind it. Games you’re watching live in the app now; Deku stays one tap away for prices.
- The button says “Add to Wishlist”, because that’s what it does.
- iPad no longer squeezes the wishlist into a 440-point strip.
Honesty
- Achievement lists say where they came from. An imported RetroAchievements set is labeled as the real, authored list; a generated set is labeled as a draft. The two never dress alike.
- The privacy policy now covers RetroAchievements — including the part worth knowing: your API key travels from your device to RetroAchievements directly, and never through this app’s servers.
- Each system appears once. The library’s system filter and headings no longer offer two identical “Switch” rows that quietly filtered different games.
- The CSV importer asks which app your spreadsheet came from — only when there’s one to name, and it’s the most useful answer on the form.
Ask what a game should be tracked by, fill one category at a time, and pull real achievement lists from RetroAchievements instead of generating a guess.
A tracker doesn’t have to arrive all at once
- Ask what a game should even be tracked by. “Suggest Categories” comes back in seconds with the sets that game is actually divided into — Shrines, Divine Beasts, Korok Seeds — as placeholders you can accept, rename or throw away before anything is generated.
- Fill one category at a time. Each placeholder has its own Generate button, and filling one leaves every other category exactly as it is. A big game no longer means one long generation that can fail entirely and leave you with nothing.
- Long lists actually arrive. A hundred-plus shrines used to run past the time limit and come back as though the generator had never heard of the game. Long categories now come back plainly — name and location, no padding — because a list that arrives beats a richer one that doesn’t.
- Nine hundred Korok seeds are one counter, not nine hundred rows. Sets too large to tick individually are tracked as a running total, and the placeholder says so before you generate it rather than promising rows it was never going to produce.
- Categories you’ve finished rise to the top, planned ones sink, and you can pin the ones you care about or hide the ones you haven’t started.
- A tracker can be thrown away, not only overwritten — and removing one tells you what progress goes with it first.
RetroAchievements
- Import the real achievement list. For a game RetroAchievements covers, this is the authored list the emulator itself pops up against — not a generated approximation. It arrives in a second, with the points each achievement is worth.
- Connect your own account and sync what you’ve earned. Unlocks land in a dedicated RetroAchievements playthrough, kept separate from a playthrough you’re timing by hand.
- A sync can only ever add. Nothing it doesn’t know about gets un-ticked — it has no idea you played the cartridge on real hardware last week, so silence from it is not evidence of anything.
- Your API key never touches our server. Those requests go straight from your device to RetroAchievements.
- Offered where it applies. On a game you’ve marked emulated, or on a console RetroAchievements covers, the import is a button rather than something buried in a menu.
- An imported set survives regeneration. Generating a tracker over a game that already has an achievement list now keeps the list and adds the generated categories beside it.
Collections
- Start from a question, not a blank name field. Templates ask something specific — the ones you keep meaning to get back to, the ones you’ve owned for years and will probably never open — and several fill themselves in from your own library.
- Pick from cover art. Choosing what goes in a collection is a grid of covers with a running count, so a collection meant to hold ten doesn’t quietly become thirty.
Knowing more about a game
- Critic scores and time-to-beat, where enough people have actually said so — a score built from two reviews isn’t a score, so it isn’t shown as one. Both can be turned off entirely if you’d rather judge for yourself.
- Connected games. Remasters, collections and sequels of the game you’re looking at, without the bad matches a plain name search produces.
- Every field is a way into your library. Tapping a developer, publisher, genre, year or perspective shows everything else you own by that measure.
- Personal collections show on the game page, distinct from a purchased bundle the game happens to belong to.
Elsewhere
- Running timers live on the first screen, with pause and stop, instead of only inside the game you started them from.
- An “ongoing” status for games that are never really finished, and Home shelves you can hide.
- Prerequisites are visible. A tracker can show what isn’t reachable yet, and warn you before ticking something that closes another objective off for good.
- The platform shown is the one you picked, not the one the app would have preferred.
- Only the category you pressed spins, and a failure you watched happen isn’t announced to you again on the next screen.
- Three cramped views now grow with your text size instead of clipping at the larger accessibility sizes.
Playing on a phone and a tablet no longer risks your playtime — plus honest sync status, safer tracker imports, and a long list of smaller fixes.
Sync you can trust
- Two devices, one timer. Start a session on your phone while one is already running on your tablet — or resume an old session on one while the other starts a new one — and the app now sorts it out the same way on every device: the timer you acted on most recently keeps running, the other one closes with exactly the time it earned. No doubled hours, no timer that stops itself while you’re watching it, no minutes counted twice.
- Nothing gets deleted on a hunch. Earlier builds could decide a playthrough that looked empty was a sync artifact and remove it — even when it was a real playthrough another device had just created and was still filling in. That guessing is gone. When two devices genuinely disagree, both copies stay visible and you decide.
- Progress merges instead of overwriting. If the same objective gets ticked on two devices, the more recent action wins everywhere, an item you deliberately unticked stays unticked, and two different notes on the same item are kept together rather than one quietly replacing the other.
- The Lock Screen keeps up. Stopping a session on one device now takes down the Live Activity on the other, instead of leaving a timer running with buttons that do nothing.
- Repairs happen when changes arrive, not just when you switch apps — so a page you’re already looking at updates on its own.
Knowing what’s actually happening
- Real iCloud status in Settings. Synced, syncing, signed out, or “iCloud is catching up” when Apple is rate-limiting your devices after a busy stretch — with the last successful sync time, so a slow moment never looks like lost data.
- Detached sessions are shown, not hidden. In rare cases iCloud can separate a recorded session from its game. The app no longer guesses where it belongs; it keeps the time and tells you it’s there.
- Tracker generation reports back. Generation takes a minute or two and you usually walk away — now a banner tells you when it finishes or fails, wherever you are in the app, with a button to jump straight to the game.
Trackers
- Pasted and generated lists keep every item. Three collectibles all called “Chest” stay three separate rows. Duplicate internal IDs — which used to make two rows share one checkmark — are cleaned up at every entry point: first generation, Replace, Add New Only, and pasted lists alike.
- Imported and locked lists survive regeneration, including when a generated tracker reuses their category name.
- Progress percentages stay honest. Adding a personal goal, replacing a tracker, or rescuing dropped items now updates every playthrough’s progress — not just the one you’re looking at.
- Removals you’d notice are reported. An item you’d written a note on, or revealed, now counts as work worth warning you about before a Replace takes it away.
Sessions and history
- Ending a forgotten session records when you actually stopped. For a paused session, that’s the pause — not a time invented from when you started.
- Clock differences between devices can’t create nonsense. No negative durations, no sessions recorded as ending in the future.
Smaller things [improved]
- The tracker page shows which game you’re in, not just the playthrough name.
- Add Game keeps “Add manually” reachable when a search fails or finds nothing.
- Rotating an iPad into the side-by-side layout no longer strands you on a duplicate tracker page.
- The “still playing?” prompt dismisses itself if you already answered it on another device, and its six-hour reminder can now break through silent mode.
- Export includes a stable ID for every record type it carries, and the app’s description of it matches what the file really is.
Regenerating a tracker can't quietly cost you progress any more — and you can now paste a checklist you already trust.
New
- Choose what a regeneration does. The button now says what it will do — add only what’s new, review the changes first, or replace everything — and you can pick a different one for a single run without changing your default. Add-only is the default, because it never removes or overwrites anything you already have.
- Review changes before they happen. See what a generation would add, remove and rename, grouped by category, and tick exactly what you want. Nothing is written until you say so.
- Paste a list. Drop in a community checklist — a markdown table, or sections of numbered items — and it becomes real tracker categories. No AI, no waiting, and nothing invented: every item comes from your text (list syntax is stripped, names and locations are read out of it, and anything unrecognised is reported rather than guessed at). Imported lists are locked, so a later regeneration can’t replace them.
- Your own notes on any item. Write whatever you want to remember. Your note is yours — no merge mode rewrites it, and a Replace carries it across wherever the item can still be matched.
- Rename anything. Categories and items, including generated ones. A generator’s naming is a suggestion; if the game calls them Achievements, call them Achievements.
Improved
- Progress follows renamed items. Generation doesn’t name things the same way twice. Previously that could silently reset your checkmarks; now progress moves with any item the merge can still match by name, the review tells you how many moved, and anything genuinely dropped can be kept as a personal goal instead.
- Long checklists are far shorter. Items sharing a location group under it once instead of repeating it on every row, and short items lay out in columns — one on a phone, more when there’s room.
- Checkboxes are easier to hit. Tap targets were smaller than they should have been.
- Timer controls are available with the tracker and a guide open side by side on iPad and Mac.
Fixed [fixed]
- Tapping a second video in the list now actually changes the player — and each video keeps its own resume position instead of inheriting another’s.
- Every part of a playlist remembers where you got to, rather than the playlist remembering only one position across all of them.
- Run logging works on AI-generated trackers. “Log Runs for This Game” was a no-op on exactly the games most likely to want it.
- The Runs section no longer appears twice on iPad and Mac in compact tracker display.
- Generation keeps running when you move around the app, with elapsed time and a clearer sense of how long it takes.
The first build uploaded to TestFlight, ready for testers beyond my own devices.
- Use the built-in tracker. Some games ship with a hand-built tracker. If you’d generated over one, you can now switch back.
- Console art for PS3, Android, iPhone and iPad on the systems shelf.
- An honest note about how this app is made.
Rather than reconstruct every build, here's what LevelSelect already was when the beta opened.
- A private library. Your games, sessions and progress, synced through your own iCloud. No account, no ads, no analytics, no tracking.
- Session tracking with Live Activities, Home Screen widgets and an Apple Watch app.
- Objective trackers — checklists, collectibles and ranked upgrades — generated for a game or hand-built, with multiple playthroughs tracked separately.
- Run logging for roguelikes, kept separate from play time.
- Guides and videos attached to a game, with playback position remembered.
- Systems shelves with original console artwork.
- Import and export. Bring a library in from a CSV, and write your library out again as readable JSON whenever you like.
Everything here ships to TestFlight as it's ready, and the beta is open — join it here. Builds go out when they're ready, not on a schedule.