FNResSwitcher is a lightweight, local-only Windows utility for switching the primary display resolution and refresh rate, managing Fortnite resolution/FPS presets, and restarting the standard Fortnite client through Epic Games Launcher.
Unofficial: FNResSwitcher is not affiliated with, endorsed by, or sponsored by Epic Games. Fortnite and Epic Games are trademarks of their respective owners.
- Enumerates resolution and refresh-rate combinations reported for the primary display by Windows.
- Stores presets in
%LOCALAPPDATA%\FNResSwitcher\settings.json. - Updates selected resolution, FPS, and window-mode values in Fortnite's standard runtime INI.
- Creates timestamped backups in
%LOCALAPPDATA%\FNResSwitcher\Backups\. - Preserves unrelated INI sections, keys, comments, ordering, line endings, and text encoding.
- Supports a custom
WindowsClientfolder as a strictly validated, one-time import/recovery source. - Can optionally keep the runtime INI read-only after applying a preset.
- Launches Fortnite through Epic Games Launcher's public
com.epicgames.launcher://apps/Fortnite?action=launchURI. - Includes display-only live apply, Windows display reversion, and INI backup restoration.
Fortnite's standard runtime file is always:
%LOCALAPPDATA%\FortniteGame\Saved\Config\WindowsClient\GameUserSettings.ini
A custom folder is never treated as an alternative runtime location. It is accepted only when it contains one unambiguous Fortnite settings section, all eight managed keys with valid values, and unrelated Fortnite settings indicating that the file is not a truncated resolution-only fragment.
For a valid import, FNResSwitcher:
- Reads and edits the complete custom INI in memory.
- Backs up the existing runtime file and custom source as applicable.
- Rechecks that Fortnite is closed.
- Writes through a same-directory temporary file.
- Verifies the runtime and synchronized custom files are byte-for-byte identical.
- Applies the requested read-only preference and releases the custom source.
If a later stage fails, the app attempts to restore the original files and attributes and keeps the import pending instead of reporting a partial success.
FNResSwitcher contains no network client, API requests, telemetry, analytics, advertising, or cloud storage. It does not collect or transmit Epic account information, credentials, or hardware identifiers.
The application does not discover, signal, terminate, launch, or modify anti-cheat processes. It never launches the Fortnite executable directly or supplies game command-line arguments. Its only game launch path is the Epic Games Launcher URI shown above.
FNResSwitcher edits a local game configuration file while Fortnite is closed. This behavior is unofficial and not endorsed by Epic Games. Game behavior and policies can change, so use the feature at your own discretion and retain the generated backups.
- Windows 10 or Windows 11
- Epic Games Launcher is required only for the optional launch/restart action.
Download FNResSwitcher-v1.0.0-win-x64.exe from GitHub Releases and run it. The release is a self-contained 64-bit Windows executable and does not require a separate .NET installation.
At startup, the single-file application may extract its bundled Microsoft .NET native components beneath the current user's %TEMP%\.net directory. It does not install a system-wide .NET runtime.
FNResSwitcher is currently unsigned, so Microsoft Defender SmartScreen may show an “unrecognized app” warning. Only download releases from this repository.
Source builds require the .NET 8 SDK. From the repository root:
dotnet restore .\FNResSwitcher.sln
dotnet build .\FNResSwitcher.sln -c Release --no-restore
dotnet test .\FNResSwitcher.sln -c Release --no-build --no-restoreTests use isolated temporary directories and do not access the real Fortnite settings directory.
Run the framework-dependent build with:
dotnet run --project .\src\FNResSwitcher\FNResSwitcher.csproj -c ReleaseCreate a self-contained 64-bit Windows build that does not require a separately installed .NET runtime:
dotnet publish .\src\FNResSwitcher\FNResSwitcher.csproj `
-c Release `
-r win-x64 `
--self-contained true `
-p:PublishSingleFile=true `
-p:IncludeNativeLibrariesForSelfExtract=true `
-o .\artifacts\FNResSwitcher-single-exe
Copy-Item `
.\artifacts\FNResSwitcher-single-exe\FNResSwitcher.exe `
.\artifacts\FNResSwitcher-v1.0.0-win-x64.exeThe release output is one self-contained executable. Test the renamed executable before uploading it to GitHub Releases.
- Presets and preferences:
%LOCALAPPDATA%\FNResSwitcher\settings.json - INI backups:
%LOCALAPPDATA%\FNResSwitcher\Backups\ - Fortnite runtime INI:
%LOCALAPPDATA%\FortniteGame\Saved\Config\WindowsClient\GameUserSettings.ini
To remove FNResSwitcher, close it and delete its application files. You may also delete %LOCALAPPDATA%\FNResSwitcher if you no longer need saved presets or backups. Uninstalling does not remove or modify Fortnite's runtime INI.
See CONTRIBUTING.md before submitting changes. Report sensitive vulnerabilities using the instructions in SECURITY.md; do not attach real Fortnite INIs or screenshots containing private paths.
FNResSwitcher is available under the MIT License.

