Skip to content

NeelFrostrain/UnrealLauncher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

44 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

πŸš€ Unreal Launcher

A lightweight Electron desktop app for discovering, launching, and managing Unreal Engine installations and projects.


S1 S2

βœ… What This Project Is

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.


πŸš€ Quick Start (Development)

Prerequisites

  • Node.js 18+ (recommended)
  • npm (or yarn) installed

Setup

git clone https://github.com/NeelFrostrain/UnrealLauncher.git
cd unreal-launcher
npm install

Run in Development Mode

npm run dev

Preview Production Build

npm run start

πŸ—οΈ Build (Production)

Build for the current platform

npm run build

Build platform-specific packages

npm run build:win    # Windows installer (EXE)
npm run build:mac    # macOS package (DMG)
npm run build:linux  # Linux package (AppImage/DEB/RPM)

Build unpacked (for testing/debugging)

npm run build:unpack

🧰 Repository Structure

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

🧩 Features

  • 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/Logs timestamps
  • 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

πŸ“Œ Notes / Troubleshooting

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

🀝 Contributing

  1. Fork the repo 2.Create a feature branch (git checkout -b feature/your-feature)
  2. Make changes and add tests if applicable
  3. Open a pull request and describe what you changed

Please follow the existing code style and run npm run lint before submitting.


πŸ–ΌοΈ Icons & Branding

  • Custom application icon (build/icon.ico)
  • Professional branding with "Unreal Launcher" product name
  • Native window controls with custom titlebar

🀝 Contributing

We welcome contributions! πŸŽ‰

Before you begin, please read through these documents:

🍴 How to contribute

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ—οΈ Development Guidelines

  • Run npm run lint before committing
  • Ensure TypeScript types are correct
  • Test on multiple platforms when possible
  • Update documentation for new features

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • 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

οΏ½ Support & Donations

If you encounter any issues or have questions:

πŸ™ Support the Project

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