Repository navigation
RetroAchievements Import
Import your retro gaming library from RetroAchievements into Tonkatsu Box. Games are matched against the IGDB database, with achievement progress and status tracking.
| RA data | Tonkatsu Box |
|---|---|
| Played games | Games matched to IGDB |
| Achievement progress | Stored in tracker database with progress bars in game card |
| Highest award (mastered/beaten) | Status "Completed" |
| Games with achievements > 0 | Status "In Progress" (or "Dropped" if inactive >90 days) |
| Games with 0 achievements | Status not changed |
| Award date (beaten/mastered) | Saved as Completed date |
| First earned achievement date | Saved as Started date |
| Last earned achievement date | Saved as Last Activity date |
| Unmatched games | Added to Wishlist (optional) |
| Console/platform | Mapped to IGDB platform (50+ consoles supported) |
- IGDB API key - needed to match RA games to the IGDB database. Set up IGDB
- RetroAchievements username - your RA profile name
- RetroAchievements Web API key - get one at retroachievements.org/controlpanel.php
- Go to Settings → Import → RetroAchievements
- Enter your RA Username
- Enter your RA API Key
- Tap Verify Connection to check credentials and preview your profile
Once credentials are saved, the RA badge will appear in the header of every game card whose platform is supported by RetroAchievements.
- In Tonkatsu Box: go to Settings → Import → RetroAchievements
- Enter credentials (if not already saved)
- Configure options:
- Add unmatched games to Wishlist - saves games that couldn't be found in IGDB
- Choose target collection:
- Create new collection - creates "RA Games"
- Use existing collection - select from dropdown
- Tap Start Import
During import you'll see:
- Current stage (fetching RA library, matching games in IGDB)
- Progress bar with current / total count
- Name of the game being matched
- Live counters: added, updated, added to wishlist
For each game in your RA library:
- Manual links win first. If you've already linked the game to RA in its card (achievement section → "Link to RA") in a previous session, the importer reuses that IGDB id and skips the IGDB search entirely. The game won't be re-offered to the wishlist.
- Otherwise, the app searches IGDB by the game's title, filtered by the mapped platform (e.g., SNES → IGDB platform 19)
- It picks the best match: exact name > substring match > first result
- If no results with platform filter - retries without the filter
- If found - the game is added to the collection with the correct retro platform
- If not found - the game is saved to your Wishlist with console name
The importer maps 50+ RetroAchievements consoles to IGDB platforms, including:
NES, SNES, N64, Game Boy, GBA, Game Boy Color, Genesis/Mega Drive, Master System, Game Gear, Saturn, Dreamcast, Sega CD, 32X, PlayStation, PS2, PSP, Nintendo DS, 3DS, TurboGrafx-16, PC Engine, Neo Geo, Atari 2600/7800/Jaguar/Lynx, 3DO, ColecoVision, Virtual Boy, WonderSwan, Game & Watch, Arcade, and more.
Status is always synced to match RA data - both during import and when opening a game card:
| RA condition | Status | Notes |
|---|---|---|
| Award: mastered / beaten / completed | Completed | Any beaten/mastered variant |
| Achievements > 0, last activity > 90 days ago | Dropped | Only if current status is NOT Planned or Not Started |
| Achievements > 0, recent activity | In Progress | |
| 0 achievements | No change | RA has no data - existing status preserved |
If a game's current status is Planned or Not Started, it will NOT be changed to Dropped even if RA shows >90 days of inactivity. This prevents incorrectly marking games the user hasn't started yet. All other status transitions (→ Completed, → In Progress) are allowed from any status.
When RA credentials are configured, a RetroAchievements logo appears in the game card header row (next to the IGDB source badge and platform label):
- Full-color logo - the game is linked to RA. Click to open the game's RA page in browser
- Pulsing semi-transparent logo - the game is NOT linked to RA but can be. Click to search and link
- No logo - RA credentials not set, or the game's platform is not supported by RA
If a game was not matched during import (e.g., different name in IGDB vs RA), you can link it manually:
- Open the game card
- Click the pulsing RA logo in the header
- The app loads all games for that console from RA and filters by name
- Pick the correct game from the list
- Achievement data loads automatically
To unlink a game: click the Unlink button (chain icon) in the RA achievements section header. This removes the tracker data and achievements for that game.
When a game is linked to RA, the detail card shows a RetroAchievements section:
- Stats - total achievements, earned/total points, hardcore count
- Award badge - Mastered (gold), Beaten (silver), Hardcore (orange circle)
- Beaten progress - progression and win condition achievement bars
- Filter chips - All, Earned, Locked, Missable, Progression, Win Condition
- Achievement list - icons, titles, descriptions, points, earned dates
- Expand/Collapse - button above and below the list for easy navigation
- Refresh - manually update data from RA API
- Open on RA - opens the game page on retroachievements.org
Achievement details are loaded the first time you open the game card. The data is saved locally, so opening the same game again is instant.
When you open a game card with RA data, the following dates are automatically synced:
- Started - date of the earliest earned achievement
- Last Activity - date of the most recent earned achievement
- Completed - award date (if beaten/mastered)
This happens both on the first open and when you press Refresh.
When importing into an existing collection:
- Games already in the collection are updated (not skipped):
- Status is always synced to match RA data (see Status sync rules above)
- Activity dates are updated
- Tracker data (achievements, awards) is updated in the tracker database
- Wishlist entries are deduplicated - existing unresolved items with the same name are not duplicated
- RA API: 1 request per second between paginated calls
- IGDB: 300ms between search requests
- A library of 200 games takes about 2-3 minutes
- You can re-import to update achievement data - existing items will be updated, not duplicated
- Verify your credentials first with the Verify Connection button - it shows your profile with points and member date
- If IGDB connection is not set up, a warning appears at the top of the import screen
- The importer fetches both completion progress and award dates in parallel for faster loading
- Achievement details for each game load only when you open that card
- Tracker data is included in full backups and restored automatically
- Use the pulsing RA logo to manually link games that weren't matched during import
- Getting Started
- API Keys Setup
- Collections
- Search
- Item Details
- Personalization
- Statistics
- Canvas Board
- Wishlist
- Releases & Calendar
- Import / Export
- Data, Sync & Backup
- Browse Online Collections
- Trakt Import
- Simkl Import
- Steam Import
- RetroAchievements Import
- MyAnimeList Import
- AniList Import
- Hardcover Import
- IGDB List Import
- Kinorium Import
- Custom Cards Import
- Kodi Sync
- Tier Lists
- Mood Grid
- User Profiles
- Settings
- Self-Hosting (Web)
- Discord Rich Presence
- Contributing Collections
- FAQ
- Быстрый старт
- Настройка API ключей
- Коллекции
- Поиск
- Детали элемента
- Персонализация
- Статистика
- Визуальные доски
- Список желаний
- Релизы и календарь
- Импорт / Экспорт
- Данные, синхронизация и копии
- Каталог коллекций
- Импорт из Trakt
- Импорт из Simkl
- Импорт из Steam
- Импорт из RetroAchievements
- Импорт из MyAnimeList
- Импорт из AniList
- Импорт из Hardcover
- Импорт списка IGDB
- Импорт из Kinorium
- Импорт своих карточек
- Синхронизация Kodi
- Тир-листы
- Mood-сетка
- Профили пользователей
- Настройки
- Selfhost (веб)
- Discord Rich Presence
- Контрибуция коллекций
- FAQ
- 快速开始
- API 密钥设置
- 收藏
- 搜索
- 项目详情
- 个性化
- 统计
- 看板
- 愿望单
- 发行与日历
- 导入 / 导出
- 数据、同步与备份
- 收藏目录
- 从 Trakt 导入
- 从 Simkl 导入
- 从 Steam 导入
- 从 RetroAchievements 导入
- 从 MyAnimeList 导入
- 从 AniList 导入
- 从 Hardcover 导入
- 导入 IGDB 列表
- 从 Kinorium 导入
- 导入自定义卡片
- Kodi 同步
- 等级列表
- 心情格
- 用户配置
- 设置
- 自托管(Web)
- Discord Rich Presence
- 贡献收藏
- 常见问题
💬 Discord