A lightweight Electron desktop app for discovering, launching, and managing Unreal Engine installations and projects.
Unreal Launcher is an Electron + React desktop application that helps you:
- Detect installed Unreal Engine versions on your machine
- Browse and open Unreal Engine projects easily
- Launch the editor with a single click
- Keep the launcher up-to-date via built-in auto-updates
It is built with TypeScript, Vite, and Electron and includes a custom UI layer for a polished cross-platform experience.
- Node.js 18+ (recommended)
- npm (or yarn) installed
git clone https://github.com/NeelFrostrain/UnrealLauncher.git
cd unreal-launcher
npm installnpm run devnpm run startnpm run buildnpm run build:win # Windows installer (EXE)
npm run build:mac # macOS package (DMG)
npm run build:linux # Linux package (AppImage/DEB/RPM)npm run build:unpackunreal-launcher/
βββ build/ # Build scripts and templates
βββ resources/ # App assets (icons, installers, etc.)
βββ src/
β βββ main/ # Electron main process
β βββ preload/ # Preload (IPC bridge) code
β βββ renderer/ # React renderer UI
β βββ src/
β β βββ components/ # Reusable UI components
β β βββ pages/ # Screens (Engines, Projects, About)
β β βββ store/ # Zustand state management
β β βββ utils/ # Helpers
β βββ index.html # Entry HTML
βββ electron.vite.config.ts # Vite + Electron configuration
βββ electron-builder.yml # Packaging configuration
βββ package.json # Dependencies & scripts
- Engine Detection β automatically scans standard Unreal Engine install paths
- One-click Launch β start the editor with a single click
- Project Browser β locate and open Unreal projects with thumbnail previews
- List & Grid View β toggle between a flat list and a thumbnail grid, preference saved across sessions
- Batch Project Import β import up to 20 projects at a time from a folder, with toast feedback on skipped items
- Recent Projects β accurately sorted by last opened time via
Saved/Logstimestamps - Favorites System β mark and quickly access your favorite projects
- 3-dot Dropdown Menu β per-card actions (favorites, open folder, remove) in a clean dropdown
- Advanced Search β search across projects by name
- Settings Page β customize app behavior including auto-close on launch
- Persist Last Page β reopens the last visited page on next launch
- Smooth Animations β framer-motion animations throughout the UI
- Toast Notifications β stacking real-time feedback with auto-dismiss and close button
- Single Instance Lock β prevents multiple app instances
- GitHub Version Check β compare installed version against latest GitHub release
- Auto-updates β GitHub Releases-based auto-update via
electron-updater - Error Boundary β recoverable error screen instead of blank window on crash
- Material Icons β consistent Material Design icons via
@mui/icons-material
| Command | Description |
|---|---|
npm run dev |
Start the app in development mode |
npm run start |
Preview the production build |
npm run build |
Build the app for the current platform |
npm run build:win |
Build Windows installer |
npm run build:mac |
Build macOS package |
npm run build:linux |
Build Linux package |
npm run build:unpack |
Build unpacked app (no installer) |
npm run lint |
Run ESLint |
npm run format |
Format code with Prettier |
npm run typecheck |
TypeScript type checking |
- If build tools fail on Windows, ensure you have the required dependencies installed (
python,windows-build-tools, etc.) and that your shell has access to the correct toolchain. - The app scans standard Unreal Engine install paths. If your engine is installed in a custom directory, add it manually in the UI (if supported) or edit the scan paths in the source.
- Fork the repo
2.Create a feature branch (
git checkout -b feature/your-feature) - Make changes and add tests if applicable
- Open a pull request and describe what you changed
Please follow the existing code style and run npm run lint before submitting.
- Custom application icon (
build/icon.ico) - Professional branding with "Unreal Launcher" product name
- Native window controls with custom titlebar
We welcome contributions! π
Before you begin, please read through these documents:
- π Contributing Guide
- π§Ύ Code of Conduct
- π Security Policy
- π Changelog
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Run
npm run lintbefore committing - Ensure TypeScript types are correct
- Test on multiple platforms when possible
- Update documentation for new features
This project is licensed under the MIT License - see the LICENSE file for details.
- Epic Games - For creating Unreal Engine
- Electron Team - For the amazing desktop framework
- React Team - For the best frontend library
- Tailwind CSS - For the utility-first CSS framework
If you encounter any issues or have questions:
- π Open an Issue
- π¬ Start a Discussion
- π§ Contact: nfrostrain@gmail.com
If you want to help keep Unreal Launcher growing, consider supporting the project:
- π§‘ Donate
- β Star the repo to help others find it
Made By Neel Frostrain

