I didn’t build this… NxLibrary
I'm using this title even though it might come across as clickbait right now, with so many people posting launchers.
And yes, I'm basically joining them too, trying to bring together my experience as a gamer and a developer to give this launcher a more concrete direction.
What I actually did was not build anything by hand myself (hence the title ahahh), but give Claude direction, bringing together different pieces that already existed and trying to add something to them. The idea was to make something that could satisfy me as a gamer, while also putting myself in the shoes of someone who wants an all-in-one app that's easy to use and nice to look at.
My main goal was to make nxnative as accessible as possible, with a nice, minimal, clean UI that anyone could understand.
I came across Selene and felt it was the theme closest to my taste, and something I could work with and adapt for the app.
The UI is very similar, because I already really liked Selene's original look. I mostly adapted it and tried to refine details to fit my own taste, adding a few things following my own artistic direction too.
Another thing I wanted to focus on was making the app interesting both for people who like tinkering, with more customisation inspired by how I use Playnite on Windows, and for people who simply want to open the app, port their game, and launch it directly from there.
Even though part of me still believes the best launcher is the /Applications folder ahaha.
For me, this seemed like a good direction: bringing together a nice launcher and a useful control panel.
Below is a feature summary (made with Claude). In the meantime, I want to say that I've tried to personally follow every detail being implemented, testing every single button and paying attention to the details, even the smallest animations and effects.
I've also tried to bring it closer to some of Playnite's customisation features (metadata, wallpapers/live wallpapers, icons, logos etc.), while keeping an eye on performance and stability throughout.
FEATURE SUMMARY
Setup and engine
- Native macOS app built with SwiftUI.
- First-run setup checks for Xcode, Metal, .NET, nxnative, bundled tools, keys, and the library folder.
- Guided setup that can prepare the pinned nxnative checkout, download the matching Metal compiler, and download Microsoft's .NET installer. Xcode itself still needs to be installed separately.
- Bundled Python runtime and required tools in release builds, avoiding a separate Homebrew/pip setup for users.
- Compatibility checks between the engine, Metal compiler, and build tools before porting.
- An explicit untested-toolchain override, with builds made under it marked as untested.
- An upstream commit checker with history and a comparison link. Engine upgrades remain pinned and reviewed rather than automatically following the latest commit.
Importing and porting
- Import existing nxnative Mac apps, or build new ones from your own game dumps.
- Detect NSP, XCI, NSZ, and XCZ files, grouping base games, updates, and DLC by title ID.
- Review detected sources, choose updates and DLC, and check the destination and estimated disk requirements before starting.
- Use source folders directly or create symlinked workspaces, without making another copy of the original files.
- Check keys against selected NSP/NSZ content before porting, catching outdated or unsuitable keys early. XCI files are marked as not checked by this step.
- Build standalone Mac .app bundles through nxnative.
- Build stages, shader progress, estimated remaining time, live logs, and cancellation.
- Keep browsing the library while porting continues, with progress also visible on the game's home tile.
- Replace an existing app only once the new build is ready, keeping the previous app if rebuilding fails or is cancelled.
- Keep installed games playable after sources are detached, and attach sources again later for rebuilding.
- Optional background notifications when a port finishes or fails.
Per-game controls
- Separate runtime settings for each game, plus defaults for newly added games.
- Controls for 30/60 FPS targets, docked/handheld mode, internal render scale, MetalFX spatial upscaling, Metal HUD, language, rumble strength, and fullscreen.
- Read each game's launcher capabilities to show the runtime settings it supports.
- Apply those settings through nxnative's configuration and launch environment.
- Customisable launch screens with game artwork and logos, waiting for the game's window to appear.
- Running-game detection, with Resume and Close Game actions from the control centre.
- Play-session tracking, playtime, and last-played activity.
Cheats and saves
- A per-game cheat panel using nxnative's cheat support.
- Import cheat text files and supported Atmosphère-style folder layouts.
- Check title IDs and build IDs, with warnings or confirmation when files don't clearly match the installed game.
- Individual cheat switches, a master switch, and a turn-all-off action.
- Show unsupported entries and files for other game versions separately.
- Prevent cheat-file changes while a game is running, and explain when an older build needs rebuilding for cheat support.
- Open a game's save folder from its options.
- Configure nxnative cloud saves through iCloud Drive or a chosen folder. Compatible Mac and iPhone builds can share saves through that folder; older builds need rebuilding. NX Library itself produces Mac apps.
Library and navigation
- Spotlight and Collection views, game details, descriptions, genres, screenshots, and a fullscreen screenshot viewer.
- Search, favourites, recently played, installed games, and games not played yet.
- Reorder games, hide them without deleting them, and restore them from Settings.
- “Surprise me” with a configurable pool, activity summaries, and related-game suggestions.
- Controller navigation with Switch, Xbox, and PlayStation prompts, adapting to the connected controller and its reported mapping.
- Keyboard shortcuts, mouse and trackpad navigation.
- Searchable settings, a list of changed settings, and reset actions.
Customisation and artwork
- Editable game metadata and custom covers, icons, logos, backgrounds, and screenshots.
- Artwork sources including GameTDB, Title DB, Nintendo's store, Steam, Xbox, GOG, TheGamesDB, Wikimedia, and other supported sources, depending on availability.
- Locally cached artwork and store metadata.
- Selene-inspired styling with 23 colour palettes, background shading, text readability controls, and reduced motion.
- Your own wallpapers and muted looping videos, with sizing and brightness controls.
- Online wallpapers from Wallhaven and Danbooru using safe/general content filters.
- Live backgrounds from MotionBGs and Steam's animated profile backgrounds, including moving previews before downloading.
- Saved credits for downloaded backgrounds, with access to their original pages.
- An animated Moonlight backdrop, UI sound controls, and an option to import additional sounds and wallpapers from your own Selene folder.
- Live video backgrounds pause when the window isn't visible.
Storage, diagnostics, and updates
- Storage information and separate actions for caches, logs, installed apps, and source files.
- An explicit, confirmed option to delete original sources and the build workspace while keeping the installed app, saves, and logs.
- Local library storage with a backup copy.
- Keys stored locally with restricted permissions, without displaying or logging their values.
- Common porting failures translated into explanations and relevant next steps, with failure details preserved after restarting.
- A console, copyable logs, and diagnostic reports with home paths shortened and key-like values removed.
- An update mechanism for release builds, checking the download's SHA-256, app identity, and version before replacement, and waiting while a game or port is running. The public release repository still needs configuring before distribution.
Some of these features expose work already done in nxnative, rather than functionality created by this launcher. Game compatibility and available settings depend on the engine and individual title.
No games, keys, or game dumps are included.
I hope you like it. Of course, I can't take credit for the underlying work. That belongs to the people who actually put in the effort, with their own hands, to make this such an exciting time for Mac gaming enthusiasts (along with our friend Claudio ahaahh):
- seedds/nxnative — the underlying engine and the work that makes the porting possible.
- rennan101/nxnative_Launcher — the GUI baseline used in this project.
- mattxslv/Selene — the theme behind the UI and visual direction.
- Playnite — what I use on Windows, and the inspiration for several library and customisation ideas.
I don't know if this is something people would be interested in, but depending on the feedback on this post, I'd put it on GitHub for everyone and make a dedicated post about it.
177 points · 37 comments
Mentions
I didn’t build this… NxLibrary I'm using this title even though it might come across as clickbait right now, with so many people posting launchers. And yes, I'm basically joining them too, trying to bring together my experience as a gamer and a developer to give this launcher a more concrete direction. What I actually did was not build anything by hand myself (hence the title ahahh), but give Claude direction, bringing together different pieces that already existed and trying to add something to them. The idea was to make something that could satisfy me as a gamer, while also putting myself in the shoes of someone who wants an all-in-one app that's easy to use and nice to look at. My main goal was to make nxnative as accessible as possible, with a nice, minimal, clean UI that anyone could understand. I came across Selene and felt it was the theme closest to my taste, and something I could work with and adapt for the app. The UI is very similar, because I already really liked Selene's original look. I mostly adapted it and tried to refine details to fit my own taste, adding a few things following my own artistic direction too. Another thing I wanted to focus on was making the app interesting both for people who like tinkering, with more customisation inspired by how I use Playnite on Windows, and for people who simply want to open the app, port their game, and launch it directly from there. Even though part of me still believes the best launcher is the /Applications folder ahaha. For me, this seemed like a good direction: bringing together a nice launcher and a useful control panel. Below is a feature summary (made with Claude). In the meantime, I want to say that I've tried to personally follow every detail being implemented, testing every single button and paying attention to the details, even the smallest animations and effects. I've also tried to bring it closer to some of Playnite's customisation features (metadata, wallpapers/live wallpapers, icons, logos etc.), while keeping an eye on performance and stability throughout. FEATURE SUMMARY Setup and engine - Native macOS app built with SwiftUI. - First-run setup checks for Xcode, Metal, .NET, nxnative, bundled tools, keys, and the library folder. - Guided setup that can prepare the pinned nxnative checkout, download the matching Metal compiler, and download Microsoft's .NET installer. Xcode itself still needs to be installed separately. - Bundled Python runtime and required tools in release builds, avoiding a separate Homebrew/pip setup for users. - Compatibility checks between the engine, Metal compiler, and build tools before porting. - An explicit untested-toolchain override, with builds made under it marked as untested. - An upstream commit checker with history and a comparison link. Engine upgrades remain pinned and reviewed rather than automatically following the latest commit. Importing and porting - Import existing nxnative Mac apps, or build new ones from your own game dumps. - Detect NSP, XCI, NSZ, and XCZ files, grouping base games, updates, and DLC by title ID. - Review detected sources, choose updates and DLC, and check the destination and estimated disk requirements before starting. - Use source folders directly or create symlinked workspaces, without making another copy of the original files. - Check keys against selected NSP/NSZ content before porting, catching outdated or unsuitable keys early. XCI files are marked as not checked by this step. - Build standalone Mac .app bundles through nxnative. - Build stages, shader progress, estimated remaining time, live logs, and cancellation. - Keep browsing the library while porting continues, with progress also visible on the game's home tile. - Replace an existing app only once the new build is ready, keeping the previous app if rebuilding fails or is cancelled. - Keep installed games playable after sources are detached, and attach sources again later for rebuilding. - Optional background notifications when a port finishes or fails. Per-game controls - Separate runtime settings for each game, plus defaults for newly added games. - Controls for 30/60 FPS targets, docked/handheld mode, internal render scale, MetalFX spatial upscaling, Metal HUD, language, rumble strength, and fullscreen. - Read each game's launcher capabilities to show the runtime settings it supports. - Apply those settings through nxnative's configuration and launch environment. - Customisable launch screens with game artwork and logos, waiting for the game's window to appear. - Running-game detection, with Resume and Close Game actions from the control centre. - Play-session tracking, playtime, and last-played activity. Cheats and saves - A per-game cheat panel using nxnative's cheat support. - Import cheat text files and supported Atmosphère-style folder layouts. - Check title IDs and build IDs, with warnings or confirmation when files don't clearly match the installed game. - Individual cheat switches, a master switch, and a turn-all-off action. - Show unsupported entries and files for other game versions separately. - Prevent cheat-file changes while a game is running, and explain when an older build needs rebuilding for cheat support. - Open a game's save folder from its options. - Configure nxnative cloud saves through iCloud Drive or a chosen folder. Compatible Mac and iPhone builds can share saves through that folder; older builds need rebuilding. NX Library itself produces Mac apps. Library and navigation - Spotlight and Collection views, game details, descriptions, genres, screenshots, and a fullscreen screenshot viewer. - Search, favourites, recently played, installed games, and games not played yet. - Reorder games, hide them without deleting them, and restore them from Settings. - “Surprise me” with a configurable pool, activity summaries, and related-game suggestions. - Controller navigation with Switch, Xbox, and PlayStation prompts, adapting to the connected controller and its reported mapping. - Keyboard shortcuts, mouse and trackpad navigation. - Searchable settings, a list of changed settings, and reset actions. Customisation and artwork - Editable game metadata and custom covers, icons, logos, backgrounds, and screenshots. - Artwork sources including GameTDB, Title DB, Nintendo's store, Steam, Xbox, GOG, TheGamesDB, Wikimedia, and other supported sources, depending on availability. - Locally cached artwork and store metadata. - Selene-inspired styling with 23 colour palettes, background shading, text readability controls, and reduced motion. - Your own wallpapers and muted looping videos, with sizing and brightness controls. - Online wallpapers from Wallhaven and Danbooru using safe/general content filters. - Live backgrounds from MotionBGs and Steam's animated profile backgrounds, including moving previews before downloading. - Saved credits for downloaded backgrounds, with access to their original pages. - An animated Moonlight backdrop, UI sound controls, and an option to import additional sounds and wallpapers from your own Selene folder. - Live video backgrounds pause when the window isn't visible. Storage, diagnostics, and updates - Storage information and separate actions for caches, logs, installed apps, and source files. - An explicit, confirmed option to delete original sources and the build workspace while keeping the installed app, saves, and logs. - Local library storage with a backup copy. - Keys stored locally with restricted permissions, without displaying or logging their values. - Common porting failures translated into explanations and relevant next steps, with failure details preserved after restarting. - A console, copyable logs, and diagnostic reports with home paths shortened and key-like values removed. - An update mechanism for release builds, checking the download's SHA-256, app identity, and version before replacement, and waiting while a game or port is running. The public release repository still needs configuring before distribution. Some of these features expose work already done in nxnative, rather than functionality created by this launcher. Game compatibility and available settings depend on the engine and individual title. No games, keys, or game dumps are included. I hope you like it. Of course, I can't take credit for the underlying work. That belongs to the people who actually put in the effort, with their own hands, to make this such an exciting time for Mac gaming enthusiasts (along with our friend Claudio ahaahh): - seedds/nxnative — the underlying engine and the work that makes the porting possible. - rennan101/nxnative_Launcher — the GUI baseline used in this project. - mattxslv/Selene — the theme behind the UI and visual direction. - Playnite — what I use on Windows, and the inspiration for several library and customisation ideas. I don't know if this is something people would be interested in, but depending on the feedback on this post, I'd put it on GitHub for everyone and make a dedicated post about it.
How 1 Developer Made 3,590 Commits to Build Playnite This video visualizes the entire 9-year development history of Playnite, the popular open-source game library manager. You'll see over 4,000 commits from 83 contributors, with the project's primary developer, Josef Nemec, making a remarkable 3,590 contributions. The Gource animation shows 1,362 files growing and shrinking, revealing the project's evolution, including its busiest month in July 2019 with 144 commits. If you enjoy seeing codebases transform into living organisms, please consider subscribing for more project visualizations. 🔗 Repo: JosefNemec/Playnite ⭐ 14,312 stars 🎨 Visualized with Gource 🎵 Music: "Blinkies Live 15 (The Blinkies Live- Thomas Park With The Blinkies [treetrunk 543])" by Thomas Park — Public Domain — archive.org | "Blinkies Live 21 (The Blinkies Live- Thomas Park With The Blinkies [treetrunk 543])" by Thomas Park — Public Domain — archive.org #Playnite #Gource #GitHub #Open source #Software development #Code visualization #C# programming #Gaming software
Playnite: An open source video game library manager and launcher (14k stars) What it does All text below is quoted directly from the project README. >An open source video game library manager and launcher with support for 3rd party libraries like Steam, Epic, GOG, EA App, Battle.net and others. Includes game emulation support, providing one unified interface for your games. Privacy Statement: - Playnite itself doesn't store any user information and you generally don't need to provide any information to import installed games. - All game library data is stored locally on your PC. - Account connection process depends on how a library plugin is implemented, but is usually done via official login web forms and only the web session cookies or tokens are stored, the same way when you login to those services via the web browser. - Playnite can be extended with plugins (written in .NET languages), PowerShell scripts and user interface themes. >Grab the latest installer or portable package from the download page. Playnite will automatically notify you about a new version upon release. Repository JosefNemec/Playnite Repository stats |Metric|Value| |:-|:-| |Stars|14,294| |Forks|697| |Last release|10.63 (2026-10-19)| |Languages|C# 97.7%, PowerShell 2.3%| |Contributors|79| |AI contributor accounts (Claude / Codex / Cursor / Copilot)|None| |AI co-authored commits|None| Main contributor |Field|Value| |:-|:-| |Name|Josef Nemec| |GitHub|@JosefNemec| |Commits to this repo|3,608 (top contributor)| |Company / Location|Czech Republic| |Followers|0| |Public repos|3| |On GitHub since|2013-03-15| ────────────────────────────── 📌 How many great GitHub repos have you discovered and completely forgotten about? Don't let another useful tool disappear into your Reddit feed. Get the community's best repos, organized by category, plus key takeaways from real developer discussions, delivered to your inbox twice a week. 📬 Never lose track of great repos again. Subscribe free.
Prompts.chat: f.k.a; Playnite; Plane: Open-source Jira | GitHub Curated Picks | 2026-10-20 Chapters: 00:00 2026-10-20 | GitHub Curated Picks 00:05 Pick #1 Prompts.chat 00:32 Pick #2 Playnite 00:48 Pick #3 Plane GitHub Curated Picks reviews 3 source-verified repositories selected for developer usefulness, not popularity position. Each pick is checked against its GitHub repository, README, release evidence, and recent commit; pick numbers are editorial order. The compact card keeps rank, signal, why it matters, and next check together while the ledger preserves direct URLs and release evidence. Treat the list as an educational review surface, not software endorsement, and verify license and maintenance before adoption. Published: 2026-10-20 Review window: daily Curated repository picks: - Pick #1 Prompts.chat | Latest commit | Fix homepage stargazer CTA link pointing to 404 /stargazers page | f/prompts.chat - Pick #2 Playnite | Latest commit | Don't override online installer config in Appveyor build | JosefNemec/Playnite - Pick #3 Plane | Latest commit | Recent commit verified | makeplane/plane Chapters: 00:00 2026-10-20 | GitHub Curated Picks 00:05 Pick #1 Prompts.chat 00:32 Pick #2 Playnite 00:48 Pick #3 Plane 01:10 Watch Next 01:18 Educational Use Only Top comment prompt: Which repository would you verify first, and what release or commit evidence matters most? Source ledger: Direct source URLs: - github.com/trending - api.github.com - github.com/f/prompts.chat/blob/main/README.md - github.com/f/prompts.chat/releases - github.com/f/prompts.chat/commit/e78128539a745e43… - f/prompts.chat - api.github.com - JosefNemec/Playnite - github.com/JosefNemec/Playnite/releases/tag/10.63 - github.com/JosefNemec/Playnite/commit/3e8abb24187… - api.github.com - github.com/makeplane/plane/blob/preview/README.md - github.com/makeplane/plane/releases/tag/v1.4.2 - github.com/makeplane/plane/commit/6c16585c81bac84… - makeplane/plane Informational and educational purposes only. Not investment advice, product endorsement, or professional guidance. Subscriber reason: Subscribe for the daily AI, GitHub, and market board. Tomorrow watchlist: Tomorrow, check the next tagged release, recent commit, and issue-health signals for the selected projects.