# Genshin_StarRail_fps_unlocker: raising the frame rate cap by writing into the game process

> Genshin_StarRail_fps_unlocker is a C++ utility that removes the 60 fps ceiling in Genshin Impact and Honkai: Star Rail by writing the target value into the running game with WriteProcessMemory. It needs administrator rights, it now depends on injection, and its own README says stuttering after the change is not a bug in the tool.

**winTEuser/Genshin_StarRail_fps_unlocker** — Genshin Impact & HKSR Fps Unlock 原神崩铁帧率解锁

- Repository: https://github.com/winTEuser/Genshin_StarRail_fps_unlocker
- Stars: 724 · Forks: 26
- Language: C++
- License: MIT
- Published: 2026-10-21 · Updated: 2026-10-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/winteuser-genshin-starrail-fps-unlocker

## Writing the frame rate value straight into the game process

The mechanism is direct memory access. The README describes the tool as an external program that uses WriteProcessMemory to write the desired fps to the game, and the project is a C++ program built with a CMakeLists.txt. There is no patch to the game files and no modification of the installation, which is why the tool can be described as working across updates rather than breaking with every patch.

Two properties follow from the design. First, the tool does not require a driver for read and write access, so it does not ask you to install a kernel component or disable a security driver to use it. Second, it must run with administrator rights, and the README explains why: the game has to be started by the tool, and the game requires that permission.

The scope of the change is narrow on purpose. The tool's stated job is to raise the 60 fps limit in the game, and the notes say that HoYoverse is aware of the tool and that you will not get banned for using it for the frame rate change alone. The same note warns that if you combine it with other third-party plugins, you do so at your own risk, which is a sensible distinction to keep in mind since other overlays and mod frameworks are the usual source of instability in a game like this.

So the value proposition is narrow and clear: if your monitor is 120 Hz or 144 Hz and the game holds 60 fps, this is a utility that changes one number in the game's memory while it runs.

## The current build depends on injection and a config file switch

The README states twice, in the feature list and again in a dedicated section, that the fps limit must now be handled by inject. That word marks a change in approach from earlier builds of this tool, and it is the first thing a user should read before downloading a binary.

Injection here means the tool loads a library into the game process so the value can be set from inside, which is also why the command line accepts a library path for the load operation. The practical consequence is that a build that predates this change will not behave the way the current documentation describes, so grabbing an old copy from a mirror is a bad idea.

The second mechanism is a configuration file, hoyofps_config.ini. The README describes changing the game fps set through it, with the note that this particular option does not work for HKSR, meaning Honkai: Star Rail. The option to look for is named IsHookGameSet, and the mapping is spelled out as a set of target values: 30 becomes 60, 45 becomes your chosen fps target, and 60 means no limit.

The distinction between hooking the game set and the other path is worth internalising, because it is the difference between a one-off write of a value and a continuing interception of the game's own setting. The file name and the option name are the two strings to search for if you want to read the file the tool ships with before running it.

## First run, the game path, and why the tool starts the game for you

The usage flow is short and depends on the tool owning the launch. You run the executable and click the game you want to open. On a first run the tool waits for the game to start and then sets the game path automatically. The compiled executable can be placed anywhere you want, with the single restriction that it should not sit in the game folder.

The important operational rule is that the game must be closed before you use the tool, because the unlocker starts the game for you. The tool then stays running. The README says to run the executable as administrator and leave it running, which is a different arrangement from the usual overlay that you launch, configure and close, and it is the direct consequence of the tool needing to both patch the process and keep it patched.

The hotkeys are listed in the README and are worth memorising before you start, since you are expected to change the target while the game is running rather than restarting the tool. The End key toggles the feature on and off. The right Ctrl key combined with the arrow keys steps the value: Up adds 20, Down subtracts 20, Right adds 2 and Left subtracts 2. The use of the right Ctrl specifically, rather than either Ctrl, is a deliberate choice so the key combination does not collide with ordinary game bindings.

From the developer's point of view, the fact that the README says the source may need updating after a game update and that the author will try to do it as soon as possible is an honest description of the maintenance model for any tool that patches a live process.

## Command line arguments for resolution, mobile UI and library loading

Beyond clicking a game in the interface, the tool accepts a command line, which is what you want for repeatable launches or for a specific screen configuration. The documented form is a game selector followed by the game's own arguments, and the examples in the README show the shape concretely:

```bash
 - unlocker.exe -[game] -[game argv...]
 - unlocker.exe -[game] -EnableMobileUI -.......
 - unlocker.exe -[game] -LoadLib [path]
```

The first line is the general form, with a game name such as Genshin or HKSR and then any arguments the game itself understands. The README gives a resolution example that passes a screen width of 3840 and a height of 1620 with fullscreen set to 1, and a second example that simply shows the help output for HKSR. The third line is the injection path, where a library location is supplied after the load option.

One ordering rule is called out explicitly. If you want the game to start with the mobile interface, the -EnableMobileUI argument has to be in second position, immediately after the game name. That constraint is a common source of silent failure, because the argument still looks accepted if you push it later in the list and the mobile layout simply does not appear.

The README also notes that a compiled binary is available from the releases page for people who do not want to compile it themselves, which is the sensible route for most users.

## A mod of an earlier tool, with downloadable builds and an MIT licence

The provenance matters for judging the code. The README states that this repository is a mod of 34736384's unlocker, and links to the original project, with thanks given to 34736384 and to xiaonian233. So the repository is a derivative work, not the origin of the technique, and the original author's project is the place to compare implementations if you want to understand the approach behind the current build.

The licence is MIT, which is unusually permissive for a game modification tool and means the code can be studied, changed and redistributed under the terms of that licence. That is a factual reading of the identifier rather than legal advice, and it does not settle any question about the terms of service of the games themselves.

The release history shows steady but irregular maintenance. Versions v2.9.2, v2.9.3 and v2.9.4 were published on 2025-10-22, 2026-03-05 and 2026-04-06, and the last push to the main branch was on 2026-10-05. The gap between the newest release tag and the last commit shows the usual pattern for this kind of project: a build is published when a game update breaks something, and there is no scheduled release train.

The build toolchain is Visual Studio 2022 Community Edition, or Vscode with MSVC, and the repository is laid out with a src directory and a CMakeLists.txt, so compiling is a standard C++ build rather than anything exotic.

## The README puts the blame for stuttering on the game, not the tool

There is a candid line in the notes worth reading twice. The README says that any artifacts from the frame rate change, for example stuttering, are not a bug of the unlocker. In practice this is a statement about where responsibility sits: a patched process that renders more frames than the game was tuned for can produce uneven pacing, and the tool declines to treat that as a defect it will fix.

The honest reading is that this is a tuning problem, not a bug. The games are built around a 60 fps target, and the engine's frame pacing, animation curves and timing logic are authored for that number. Raising the cap gives the renderer more frames to produce, and not every system responds cleanly. The README's own example notes that opening the browser in game will not cause stuttering in the 30 to 60 configuration, which suggests the author has mapped behaviour across the different target values.

The second note sets a boundary for anyone layering tools: if you are using other third-party plugins alongside this one, you are doing it at your own risk. That is a reasonable disclaimer, since combining several memory-level modifications in the same process is where stability problems usually come from.

For a user, the practical takeaway is that a stuttering result after a game update is an expected outcome to investigate, and the first thing to check is the release date of the build you are running against the date of the game update it was built for.

## Conclusion

This tool suits a player whose display runs above 60 Hz and who wants the frame rate to follow it, and who is comfortable running an unsigned executable as administrator against a live game process. It does not suit anyone who needs a clean, supported configuration, since the value is patched in memory rather than set through a game option, and the project itself attributes stuttering after the change to the game rather than to the tool. Before using it, read the notes on the in-game setting change in hoyofps_config.ini and check the release page for a build newer than v2.9.4, since the last push was on 2026-10-05 and game updates are the recurring reason a build stops working.

## FAQ

### Why does Genshin_StarRail_fps_unlocker need administrator rights?

The README explains that the game must be started by the tool and the game itself requires that permission. The tool writes the target value into the running game process with WriteProcessMemory and does not need a driver for read and write access.

### How do I change the fps target while the game is running?

The README lists the default hotkeys: End toggles the feature on and off, and the right Ctrl key combined with Up, Down, Right or Left changes the value by 20 or 2 at a time. The tool must be left running with the game started by the tool itself.

### Does using Genshin_StarRail_fps_unlocker risk a ban?

The README states that HoYoverse is aware of the tool and that you will not get banned for using it for the frame rate change alone, and warns that combining it with other third-party plugins is at your own risk. The frame rate setting is also configurable through the IsHookGameSet option in hoyofps_config.ini, which the README notes does not work for HKSR.

## Sources

- [Issues](https://github.com/winTEuser/Genshin_StarRail_fps_unlocker/issues)
- [License: MIT](https://github.com/winTEuser/Genshin_StarRail_fps_unlocker/blob/main/LICENSE)
- [README](https://github.com/winTEuser/Genshin_StarRail_fps_unlocker/blob/main/README.md)
- [Releases](https://github.com/winTEuser/Genshin_StarRail_fps_unlocker/releases)
- [winTEuser/Genshin_StarRail_fps_unlocker on GitHub](https://github.com/winTEuser/Genshin_StarRail_fps_unlocker)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/winteuser-genshin-starrail-fps-unlocker
