Starshot Launcher - a comfortable and familiar emulation and gaming frontend for Android.
Features • Installation • Architecture • Contributing
Starshot is an Android emulation frontend designed to provide a console-like, Material Design adjacent, utilitarian experience for managing and launching your game collection. Insightful choices with a focus on usability, reliability, and quick setup make it ideal for those who want their experience streamlined without sacrificing functionality. Named after the Breakthrough Starshot initiative that has long inspired me and what I believe possible for humanity, Starshot will get you where you want to go at light speed.
- Tile-based home screen with grid and border style personalizations
- Recently played carousel for quick access to your games
- System categories organized by platform (NES, SNES, PS1, PS2, etc.)
- Controller-first UX with full D-pad/analog navigation
- Auto-scan ROM directories with hash-based identification
- Multiple metadata providers (IGDB, SteamGridDB, ScreenScraper) for rich game info & style
- Grid, list and carousel views with customizable display options
- Advanced organization by system, favorites and recently played
- No embedded emulators - works with your existing emulator apps
- Auto-detect installed emulators on your device
- Per-system emulator mapping with sensible defaults
- Per-game override support for special configurations
- Native RetroAchievements support with login persistence
- Achievement popups with custom sounds
- Per-game achievement tracking and progress display (with dual-screen support)
- Hardcore mode support
- RomM server support allows you to fetch games from the RomM instance on your PC or server
- In-app RomM browser to explore and download your collection
- Full directories support so you can find exactly what you are looking for in your instance
- Collections support to easily access your curated lists of games
- Phones - Optimized portrait and landscape layouts
- Tablets - Expanded grid and views
- Gaming handhelds - Controller-optimized interface
- Dual-screen devices - Optional split mode for devices like the AYN Thor and AYANEO Pocket DS
- Theme engine with colors, styles and proportions
- Configurable sound effects for navigation and actions
- Customizable wallpapers for user personalization
- Dynamic color theme support based on wallpapers with overrides
- Video, screenshots and manuals viewer organized by game and system
- Music player for game soundtracks - Coming soon
- News feed with RSS support for gaming news - Coming soon
- Android 13+ (API level 33)
- Emulator apps installed for your game systems
- ROM files dumped from your legally owned games
- Download the latest APK from Releases
- Install on your Android device
- Configure your ROM directory (or specific system mappings you don't use ES-DE standard directories) in Settings
- Configure your scrapers in Settings
- Run a scan, run a scrape and enjoy your games!
Starshot is built with a modern Android architecture, leveraging Kotlin and Jetpack Compose for a responsive UI. The app follows the MVVM pattern, with repositories abstracting data sources and Hilt managing dependencies. The database layer uses Room for local storage of game metadata, while Ktor handles network requests to scrapers and APIs. Coil is used for efficient image loading and caching and Compose Navigation manages in-app navigation.
I am looking for testers to help improve Starshot. It is in active development and in use every day to keep making it better. If you want to help out, you can make an issue here on GitHub or join my projects Discord server to discuss the app, suggest features, or report bugs.
When making an issue, please provide as much detail as possible, including steps to reproduce, screenshots and device information if relevant. There is an issue template to help guide you through the process.
A current to-do list of features and improvements can be found in my projects Discord server in the #todos channel.
- RetroAchievements for the achievements API
- RomM for the API in their ROM management server
- IGDB for game artwork and metadata
- SteamGridDB for game artwork
- ScreenScraper for game artwork and metadata
- The Android and Kotlin communities for their excellent documentation and libraries
- ES-DE for the structure of their ROM directories and metadata management
Made with ❤️ and impatience in receiving my AYN Thor, for retro gaming enthusiasts & the dual-screen handheld community