# GameNative: running your Steam, Epic and GOG library on Android without streaming

> GameNative is a GPL-3.0 Android app that runs PC games you already own on a phone or handheld and syncs saves to the cloud. It installs from an APK, relies on community configs, and does not run every game.

**utkarshdalal/GameNative** — Native PC gaming with Steam, Epic, GOG and Amazon integrations on Android.

- Repository: https://github.com/utkarshdalal/GameNative
- Website: https://gamenative.app
- Stars: 10,779 · Forks: 430
- Language: Kotlin
- License: GPL-3.0
- Published: 2026-08-04 · Updated: 2026-08-18 · Language: en
- Canonical page: https://hysenlabs.com/projects/utkarshdalal-gamenative

## The problem GameNative solves for Android owners

Android has no shortage of games, but it has a shortage of the games you already paid for on PC. The usual answer is streaming: run the title on a desktop or a cloud host and push video to the phone. That requires a second machine, a stable network, and a subscription or a home server. GameNative takes the other route. It runs the PC build on the device itself, so nothing is streamed. The README states the goal plainly: "Play the PC games you already own, from Steam, Epic and GOG, on your Android device, with cloud saves."

The audience is narrow and specific. It is people with an Android handheld or a phone plus a controller, a library spread across Steam, Epic, GOG and Amazon, and no interest in buying the same game twice. The project is not a store. It does not sell games and it does not provide them. The disclaimer in the README says the software is meant for playing games you legally own.

One practical consequence follows from that. Because GameNative signs in to your existing store accounts, the library you see is the library you already have. There is no catalogue to browse and no purchase flow. If your PC collection is thin, the app has little to offer you.

## How GameNative runs PC games locally and applies shared configs

The repository is a Kotlin Android project, built with Gradle (build.gradle.kts, settings.gradle.kts, gradlew). That tells you what kind of software this is: a native Android application, not a web front end and not a remote client. The top level also contains ubuntufs/, keyvalues/, recommendations.json, prod-debug.lineage and a tools/ directory, which is consistent with the app shipping a Linux userland, Steam key-value parsing data, and a recommendation dataset rather than only UI code.

The part that matters most for a new user is the config layer. The README says the community finds and shares configurations that work, "and these get applied automatically." That is the mechanism behind the claim that many games work out of the box. It also explains the analytics section: game launch, close and exit events, plus install, cancel and uninstall events, are always collected, and the README says this is how the project works out which games work and which configs to apply for the next person. Compatibility data and automatic configuration are the same pipeline seen from two sides.

Cloud saves are the second mechanism. The README frames it as continuity: stop on your PC, keep going on your phone. That only holds if the game's save data is handled correctly on both ends, and the README does not document what happens when a sync conflicts.

Steam support goes beyond launching a title. The feature list includes Steam DLC, workshop and branch support, which means the app is reading enough of Steam's own metadata to select a branch or a workshop item rather than just an executable.

## Installing the GameNative APK and playing a first game

There is no Play Store listing in the README. Distribution is a direct APK download from the project's own host, and the current release is v1.2.0. The README's how-to-use list is five steps: download the latest release, install the APK, log in to your Steam account, install your game, hit play. The download link in the README points at downloads.gamenative.app for the 1.2.0 build.

The install itself is a side-load. On Android that means allowing installation from the source you are using, then opening the downloaded file. The README does not describe any additional setup after installation, so the first screen you should expect is a store login.

```bash
# The README links the release APK directly; the filename follows this pattern:
gamenative-v1.2.0.apk
# Download it from downloads.gamenative.app, then open it on the device to install.
```

After installing, sign in to Steam and install a game from your library. Before you do that, check the compatibility page the README points to. It is the only published source of truth for whether a title has been tried, and it is the step that saves the most time.

If you build from source instead of using the release, the README treats it as an ordinary Android Studio project and says to ask on Discord if you get stuck. The one optional piece of configuration is artwork for custom games, which needs a SteamGridDB key in local.properties:

```properties
STEAMGRIDDB_API_KEY=your_api_key_here
```

The README is explicit that without the key everything still works and the app simply will not fetch images. That is a good default: artwork is decoration, not a dependency.

For input, the README lists controller and touch support, a custom control editor and an on-screen HUD. It does not document a mapping file format or a per-game input profile, so plan on configuring controls inside the app rather than by editing files.

## Compatibility, cloud sync and the limits the README admits

The README does not oversell. It says the project is "still early," that not every game runs yet, and that some need tweaking to play well. That is the honest headline limitation, and it should decide whether you install the app at all. A phone is not a desktop, and a PC build that assumes a particular graphics stack, anti-cheat layer or peripheral will not necessarily start. The compatibility page exists precisely because the answer is per-title.

Cloud save conflicts are the second risk. The README promises saves that carry over between PC and phone but does not describe conflict resolution, a merge policy, or what happens when both sides changed since the last sync. Treat cloud saves as a convenience you verify on a throwaway save before you rely on them for a long campaign.

Analytics deserves a straight reading. Per the README, launch, close and exit events (game name, store, session length, average FPS, container config) and install, cancel and uninstall events are always collected. Feature usage, login success or failure, recommendation interactions, app lifecycle and cloud sync events are optional and can be switched off under Settings → Info → Usage Analytics. The always-on set cannot be disabled from that screen. If you object to session-level telemetry tied to game names, this is the wrong app for you, regardless of how well your game runs.

Support is Discord-only. The README asks people not to open GitHub issues because they are closed automatically. That is a deliberate choice and it has a cost: there is no searchable, permanent bug tracker, so a problem you hit may only exist as a chat message.

## GameNative compared with streaming from a PC or a cloud host

The real alternative is not another Android app. It is streaming, whether from your own desktop or from a cloud gaming service. The difference is architectural. Streaming keeps the game on hardware that was designed for it and sends video to the phone, so compatibility is largely whatever your PC can already run. GameNative moves the workload onto the phone, which removes the host machine and the network dependency but inherits every limitation of the device.

That trade-off decides the use case. On a handheld with a decent chip and a game that the community has already configured, local play gives you something streaming cannot: it works on a plane, on a train, anywhere without a link back home. On a demanding title, or a phone that throttles under sustained load, streaming will be the better experience and GameNative will not be.

There is also a licensing difference worth noting. GameNative is GPL-3.0, so the source is available and modifications are governed by that licence. A streaming service is proprietary by definition. If you care about being able to inspect or fork what runs your games, that distinction matters more than any feature list.

## Maintenance, upgrade cost and what GPL-3.0 means here

The last push to the repository was on 2026-08-25, the same day as the v1.2.0 release, and the repository is not archived. That is a recent release cadence, with v1.2.0-prerelease on 2026-08-19 and v1.1.1 on 2026-07-26 before it. For an app that depends on store clients and community configs, a steady release rhythm is the thing to watch, because a Steam client change can break sign-in or installation without any change on the Android side.

Upgrade cost is low by design. Installation is an APK, so a new version is another download and install rather than a store update. The README does not document a rollback path or an in-app update mechanism, so if a release regresses a game you care about, keeping the previous APK is the practical precaution. There is also no documented migration step for container configuration between versions.

On licensing, GameNative itself is GPL-3.0. The README points to THIRD_PARTY_NOTICES for attributions, copyleft source offers, and notices about third-party and proprietary components bundled with the app. That last phrase is the one to read carefully: a GPL-3.0 application can still bundle components under other terms, and the notices file is where the project says what those are. This is a description of what the repository states, not legal advice. If you plan to redistribute the app or ship it inside a product, read LICENSE and THIRD_PARTY_NOTICES together before you decide anything.

## Conclusion

Adopt GameNative if you already own PC games on Steam, Epic, GOG or Amazon and want to play them on an Android phone or handheld without a streaming host, and you accept that compatibility is uneven. Skip it if you need a guarantee that a specific title boots, if you want an iOS build (the README describes Android only), or if you refuse an APK that is not distributed through a store. Before installing, check your exact title at https://gamenative.app/compatibility and read the Privacy Policy, since launch, exit and install events are always collected. Then install the v1.2.0 APK, sign in to Steam, and treat the first launch of a game as a test rather than a purchase decision.

## FAQ

### Is GameNative safe to use?

The repository is public, licensed GPL-3.0, and not archived, so the code can be inspected. The README states that PostHog analytics always collects game launch, close and exit events plus install, cancel and uninstall events, while feature usage, login events and cloud sync events are optional under Settings → Info → Usage Analytics. It also says no names, emails, IPs or device identifiers are collected.

### Is GameNative free?

The README does not describe a price or a paid tier. Distribution is a free APK download from the project's own host, and the project accepts support through Ko-fi and GitHub sponsors.

### How do I install GameNative on Android?

Download the latest release APK, install it on the device, log in to your Steam account, install your game, then hit play. The README lists exactly those five steps and points at downloads.gamenative.app for the v1.2.0 build.

### How do I use GameNative?

Sign in to a supported store, install a game from the library you already own, and launch it. The README says known community configurations are applied automatically, and that a compatibility page at https://gamenative.app/compatibility shows whether anyone has run your game successfully.

### Where does GameNative install games?

The README does not document the on-device install path or a way to browse it. It only describes installing a game from your store library and launching it, so the location is not stated in the README.

### Does GameNative work with a controller?

The README lists controller and touch support, a custom control editor and an on-screen HUD. It does not document a mapping file format or per-game input profiles, so configuration happens inside the app.

## Sources

- [Official documentation](https://gamenative.app)
- [Official README](https://github.com/utkarshdalal/GameNative#readme)
- [Project repository](https://github.com/utkarshdalal/GameNative)
- [Release notes](https://github.com/utkarshdalal/GameNative/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/utkarshdalal-gamenative
