FiveLaunch is a desktop launcher for FiveM that manages multiple isolated client profiles by controlling how FiveM reads mods/plugins/settings on disk.
Stack: Electron + TypeScript + React + Tailwind + shadcn/ui.
Docs: https://fivelaunch.help Support: https://fivelaunch.help/support Releases: https://github.com/oyuh/fivelaunch/releases
- Download the latest release and run
FiveLaunch.exe. - On first run, confirm you understand what folders/files will be linked/renamed.
- In Settings, set the FiveM.app folder path (example:
%LOCALAPPDATA%\FiveM\FiveM.app). - Create a profile.
- Enable the features you want for that profile (mods/plugins/citizen/settings).
- Launch.
Minimize-to-tray behavior:
- If minimize to tray on game launch is enabled, the app will hide while FiveM is running and restore when the game closes.
- Multiple client profiles with per‑client linking preferences.
- Selective linking for:
modspluginscitizengta5_settings.xmlCitizenFX.ini
- Automatic backups on first link (original folders and files are renamed with
_original). - Quick launch from the UI.
- Open client folder directly from the app.
- Custom window controls (minimize/maximize/close).
FiveLaunch is split into three layers:
- Main process (Electron): owns windows, tray, filesystem operations, and all linking/sync logic.
- Preload: exposes a constrained IPC API to the renderer.
- Renderer (React): UI only; it calls
window.api.*and renders progress/logs.
Key entrypoints:
- Main bootstrap: src/main/index.ts
- IPC surface: src/main/app/ipc.ts
- Window creation: src/main/app/window.ts
- Game launch/linking: src/main/managers/GameManager.ts
- Plugins sync implementation: src/main/managers/gameManager/pluginsLaunch.ts
- Preload API bridge: src/preload/index.ts
Per-profile storage is under:
%APPDATA%\FiveLaunch\clients\<clientId>\
mods\
plugins\
citizen\
settings\
gta5_settings.xml
CitizenFX.ini
FiveM targets affected by linking:
%LOCALAPPDATA%\FiveM\FiveM.app\mods%LOCALAPPDATA%\FiveM\FiveM.app\plugins%LOCALAPPDATA%\FiveM\FiveM.app\citizen%APPDATA%\CitizenFX\gta5_settings.xml%APPDATA%\CitizenFX\CitizenFX.ini
Backups created automatically on first link by renaming originals with _original.
- Directories are linked using junctions on Windows.
- Settings files (
gta5_settings.xml,CitizenFX.ini) are linked using file links. - Plugins can run in junction mode or sync/copy mode (see
LinkOptions.pluginsModein src/main/types.ts).
Plugins sync (copy mode):
- While the game runs, only a safe subset of files are synced back.
- After the game closes, a short finalizing sync may run to copy back changes.
FiveLaunch shows a first‑run modal that explains what you should back up before linking.
Files/Folders affected:
%LOCALAPPDATA%\FiveM\FiveM.app\mods%LOCALAPPDATA%\FiveM\FiveM.app\plugins%LOCALAPPDATA%\FiveM\FiveM.app\citizen%APPDATA%\CitizenFX\gta5_settings.xml%APPDATA%\CitizenFX\CitizenFX.ini
Backups created automatically:
mods_original,plugins_original,citizen_originalgta5_settings.xml_original,CitizenFX.ini_original
- Node.js 20+
- pnpm 10+
pnpm installpnpm devpnpm typecheckpnpm build:winBuild artifacts are placed under:
dist/
Useful docs:
- Release CLI: scripts/release.js
- Tagging CLI: scripts/tag-release.js
Pull requests are welcome.
By contributing, you agree that your contribution can be incorporated into FiveLaunch and redistributed by the owner under any terms. See the license for details.
Open issues here:
This repository is source-available under the FiveLaunch Source-Available License (FiveLaunch-SAL).
- You may view, use, and modify the code for personal/internal use.
- You may not redistribute the code or derivatives (including public forks) without written permission.
- You can share improvements by submitting a pull request back to this repository.
See LICENSE for the full terms.
FiveLaunch modifies FiveM client files by linking/replacing folders and settings. Use at your own risk. Always keep backups.