Skip to content

Repository files navigation

FNResSwitcher

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.

Screenshots

Preset manager

FNResSwitcher preset manager showing resolution, refresh-rate and FPS controls

Activity history

FNResSwitcher activity history showing recent preset actions

Features

  • 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 WindowsClient folder 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=launch URI.
  • Includes display-only live apply, Windows display reversion, and INI backup restoration.

Runtime-path safety

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:

  1. Reads and edits the complete custom INI in memory.
  2. Backs up the existing runtime file and custom source as applicable.
  3. Rechecks that Fortnite is closed.
  4. Writes through a same-directory temporary file.
  5. Verifies the runtime and synchronized custom files are byte-for-byte identical.
  6. 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.

Safety and privacy

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.

Download and run

  • 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.

Build and test

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-restore

Tests 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 Release

Create a release executable

Create 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.exe

The release output is one self-contained executable. Test the renamed executable before uploading it to GitHub Releases.

Backups, settings, and uninstalling

  • 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.

Contributing and security

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.

License

FNResSwitcher is available under the MIT License.

About

A lightweight Windows utility for switching display resolution and managing Fortnite resolution, refresh-rate, and FPS presets safely.

Topics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages