YukiHub: a Galgame library manager for Android that also syncs play records
YukiHub is a Galgame management tool for Android that supports synchronization of local games, shortcuts, and play records. The project uses the GPL-3.0 open-source license.
At a glance
- What is it?
- YukiHub is a GPL-3.0 Android app that manages local visual novels, Android-app entries, emulator launch points and shortcuts, with play-record sync and a WebDAV option. It is a library manager first, a launcher second, and its timing model has a catch worth knowing before you switch.
- Who is it for?
- YukiHub fits Android users who already run visual novels through Winlator, 盖世 or similar engines and want one place to hold entries, shortcuts and play time, with WebDAV as the sync target. It does not fit anyone expecting a desktop-grade launcher, a storefront, or a tool that plays games by itself: the README states plainly that no game files, cracks or licence bypass are provided, and launching depends on third-party engines and device compatibility.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly Java, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What YukiHub actually manages
YukiHub is aimed at a specific and slightly awkward situation: you play visual novels on an Android phone, the games arrive as folders, as installed Android apps, or as launch points inside an emulator, and nothing on the system keeps those three categories in one list. The README describes the project as a Galgame and visual novel management and launch tool for Android, and states that the goal is to combine library management, quick launching, data sync and reference lookup in one mobile interface. The project's own positioning section is more precise than the feature list: it calls YukiHub a local game management centre rather than a pure launcher.
That distinction matters. The interesting part is not that it can start a game. It is that a game entry does not require a directory. The README lists empty-directory entries as a supported case and names the scenarios: launching an Android app directly, entries started by package name, external program entries, and custom shortcut items. If you have ever tried to keep a folder of Android-installed games and a folder of Winlator-wrapped games in the same mental model, that is the gap this fills.
The audience is correspondingly narrow. This is not a tool for someone with a Steam library and a desktop. It is for Android users who already have a working emulator or engine setup and want the catalogue layer on top of it.
How entries, matching and play time work
The mechanism visible in the README is an entry model plus a matching routine. Each game is an entry that can be added, edited, deleted, multi-selected or cleared in bulk. An entry may or may not carry a root directory. Sync then tries to match entries across devices using three signals in order of preference: the root path, the local ID, and the game title. For empty-directory entries, matching falls back to the title first, because there is no path to compare. That is a sensible ordering and also the source of the main data hazard: title-based matching is only as good as your titles.
Play time is tracked by a foreground timer, not by watching the game process. The README explains the model directly: timing starts when you launch the game from the app and stops when you return to the app's foreground. If the app is killed in the background, the README says the time is still recorded when you reopen the app. The documented failure mode is a user behaviour one: if you go back to the foreground mid-session out of curiosity and then return to the game, the second half of that session is not counted, and you have to launch the game from the app again for timing to resume.
Metadata works as a separate pipeline. Cover art, synopses, tags and character information come from VNDB, Bangumi, 月幕 Gal and Hikarinagi, with the source and display priority chosen in settings, and cached locally for offline viewing. An OCR translation feature is included, credited in the README to MoeTranslate (萌译) as the origin, with selectable translation APIs and custom API configuration.
Installing YukiHub and adding a first entry
The README gives two installation routes. The first is downloading the APK from the Releases page and installing it. The second is building from source, which the README says requires Android Studio, the Android SDK and a Gradle environment, after which you open the project and run the build. The repository root contains gradlew, gradlew.bat, settings.gradle and a keystore.properties.template, consistent with that description.
There is no package manager route and no command-line install, so the practical first step is the APK. The README documents no install command, only the Releases page:
# No CLI install is documented. Download the APK from the Releases page and install it on the device.For a source build, the README does not name a specific Gradle task, so the only documented instruction is to open the project and build. The build information section of the README is concrete enough to check compatibility first, and these are the values it lists:
Application ID: com.yuki.yukihub
Min SDK: 26
Target SDK: 33
Compile SDK: 33Min SDK 26 is Android 8.0, matching the badge at the top of the README. On first launch the app presents a disclaimer that must be accepted before use, per the README.
For the first real entry, the documented flow is manual addition. Add an entry, leave the directory empty if the target is an Android app or an external launch point, and point the entry at the app or shortcut you want to start. Import paths also exist for bulk work: the README lists folder batch import and migration from Playnite, PotatoVN, Vnite and LunaBox, each with its own guide page. GameHub shortcut import is listed with icon display and search filtering. After adding an entry, launching it from the app is what starts the timer.
Sync, WebDAV and where matching breaks
Sync covers game entries and play records, and the README states that WebDAV cloud sync is supported, with a separate Bilibili tutorial linked for it. Export and import are the local backup path. The matching rules described above are the thing to think about before relying on this across two devices.
Three concrete limitations follow from the README's own wording. First, the matching is best-effort by design: the README says sync will try to match based on root path, local ID and title, which means a rename on one device can produce a duplicate rather than an update. Second, empty-directory entries have no path signal at all, so a title change is the only thing standing between you and an orphaned entry. Third, the README notes that some sync and cloud features depend on external service availability, which is a fair description of any WebDAV-backed design.
The play-time model is the other place where the app's assumptions show. Foreground-based timing is a reasonable compromise on Android, where you cannot reliably observe another app's lifecycle without elevated access. But it means the recorded number is really "time spent with YukiHub as the last app before the game, until you came back", not time spent in the game. Anyone who alt-tabs through a long session will see a number that does not match reality, and the README says so rather than hiding it.
Known issues in the README are worth reading before you buy into the emulator story. The README records that direct launching of KiriKiri games from a TF card was broken and fixed as of version 0.125+3, with an automatic mirror-directory mode for SD card games. It also records that Huawei and similar phones could not play KiriKiri or Artemis-engine games properly due to storage read/write restrictions, with an external private save option and a lightweight SAF added as attempted mitigations, marked fixed as of 0.12.5+1. Those entries are the author's own account, not a general compatibility guarantee.
What YukiHub is not, and what to use instead
The README is unusually direct about scope. YukiHub does not provide game files, cracked resources, licence-bypass capability, or support for infringing use. It is a manager and launcher for things you already have the right to run. If you were looking for a source of games, this is the wrong project and the README says so in its own words.
The more useful comparison is with the projects the README itself points at. LunaBox is listed both as an import source and in the acknowledgements, which tells you the two overlap on library management. Playnite, also an import source, is the desktop equivalent: a Windows library manager with plugin-driven metadata and launcher integration. The difference in approach is platform and runtime. Playnite manages and launches desktop executables on Windows; YukiHub manages Android-native entries, emulator launch points and shortcuts, and its launch mechanism depends on third-party engines and system compatibility, as the README states in its system requirements. If your library lives on a PC, Playnite is the natural fit. If it lives on a phone, that is the case YukiHub is built for.
The README also names Rinne Mobile, described as a heavily refactored branch that is friendlier to portrait orientation, with the README's own aside that its UI outdoes YukiHub's. That is a useful signal: the author treats forking as a normal outcome, and the README explicitly invites developers to build different branch versions. If portrait use matters to you, that fork is the documented alternative rather than a competitor to argue about.
Maintenance, licence and upgrade cost
The repository is not archived, and the last push was on 2026-09-14. The most recent release listed is v0.1.3 on 2026-06-10, preceded by v0.1.2.5 on 2026-06-02 and v0.1.2 on 2026-06-02. The README describes the project as being in a phase of continued polishing around its open-source release, and the version string in the build information section reads 0.1 while the releases are at 0.1.3, which is a small inconsistency worth expecting in a project this young.
The practical upgrade cost is low but not zero. Installation is APK-based, so upgrades are manual downloads from Releases rather than a store update channel. Because sync matching uses root path, local ID and title, a version that changes how entries are keyed could in principle affect a cross-device merge, which is an argument for exporting a local backup before upgrading rather than after. The README does not document a rollback path, so the export is the only documented safety net.
On licensing: the project is GPL-3.0, and the README states you may use, modify and distribute it, and build on it under the terms of that licence. The practical consequence for anyone forking is the usual copyleft one: a distributed modified version has to carry the same licence. The README actively invites branch versions, so this is not a theoretical concern here. Note also that the OCR translation feature is credited to MoeTranslate (萌译) as the origin project, which is a separate codebase with its own licensing terms that the README does not restate. If you plan to redistribute a fork with that component, check the upstream project's licence yourself. Nothing here is legal advice.
Editorial conclusion
YukiHub fits Android users who already run visual novels through Winlator, 盖世 or similar engines and want one place to hold entries, shortcuts and play time, with WebDAV as the sync target. It does not fit anyone expecting a desktop-grade launcher, a storefront, or a tool that plays games by itself: the README states plainly that no game files, cracks or licence bypass are provided, and launching depends on third-party engines and device compatibility. Verify three things before committing your library: that your device grants the file and all-files access the app requests, that your WebDAV endpoint is reachable from the phone, and that the timing behaviour matches how you actually play, since the README warns that returning to the foreground mid-session and jumping back into the game drops the remainder of that session. Check the release notes for v0.1.3 and the USER_GUIDE.md before migrating a large collection.
Frequently asked questions
What is the YukiHub app for?
It is an Android tool for managing Galgame and visual novel entries, including local games, Android-app entries, emulator launch points and external shortcuts, with play-record tracking and sync. The README describes it as a local game management centre rather than a pure launcher.
How do I install YukiHub?
Download the APK from the Releases page and install it, or build from source with Android Studio, the Android SDK and a Gradle environment. The README does not document a package manager or command-line install.
How does YukiHub count play time?
Timing starts when you launch a game from the app and stops when you return to the app's foreground; if the app is killed in the background, the README says the time is still recorded when you reopen it. The README warns that returning to the foreground mid-session and going straight back to the game means the remainder of that session is not counted.
Can YukiHub sync my library between devices?
Yes, the README lists game entry sync and play-record sync via import and export, plus WebDAV cloud sync with a linked tutorial. Matching during sync uses the root path, local ID and title, and empty-directory entries are matched by title first.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/xm486-yukihub)