
# Lumina Game Engine
**A modern, high-performance game engine built with Vulkan**
[](LICENSE)
[](https://github.com/mrdrelliot/lumina)
[](https://github.com/mrdrelliot/lumina)
[](https://www.vulkan.org/)
[](https://discord.gg/xQSB7CRzQE)
[Website](https://luminagameengine.com) • [Discord](https://discord.gg/xQSB7CRzQE) • [Documentation](https://luminagameengine.com/getting-started/introduction/)
---
## Contents
- [Lumina Game Engine](#lumina-game-engine)
- [Contents](#contents)
- [Overview](#overview)
- [Features](#features)
- [Rendering](#rendering)
- [Architecture](#architecture)
- [Editor](#editor)
- [Performance](#performance)
- [C# Scripting](#c-scripting)
- [Documentation](#documentation)
- [Screenshots](#screenshots)
- [Getting Started](#getting-started)
- [Requirements](#requirements)
- [Installation](#installation)
- [Build Configuration](#build-configuration)
- [Troubleshooting](#troubleshooting)
- [Contributing](#contributing)
- [Workflow](#workflow)
- [Requirements](#requirements-1)
- [Third-Party Dependencies](#third-party-dependencies)
- [Acknowledgments](#acknowledgments)
- [License](#license)
- [Connect](#connect)
---
## Overview
Lumina is a modern C++ game engine built from the ground up with Vulkan. It is
designed for learning and experimentation with real-world engine architecture,
demonstrating professional design patterns including a reflection system, an
ECS-based gameplay layer, and modern rendering techniques.
> [!NOTE]
> For more detailed information, go to: https://luminagameengine.com
It is well suited for:
- Learning modern game engine architecture
- Experimenting with Vulkan rendering techniques
- Building prototypes on a clean, modular codebase
- Understanding how engines such as Unreal and Godot work internally
Contributions are recognized in several ways, including Steam keys for popular
games and public acknowledgment in the Discord community. Lumina improves
through the work of motivated contributors who help push the engine forward.
> [!CAUTION]
> Lumina is an educational project under active development. APIs may change,
> and some features are experimental. If you encounter build issues, please
> reach out on [Discord](https://discord.gg/xQSB7CRzQE) for assistance.
> [!NOTE]
>
> ### AI Usage
>
> AI has been used selectively for tasks such as static analysis, research, build tooling, and scripting assistance.
>
> The engine itself has been hand-crafted over the course of three years as a passion project. AI is treated as a tool where it provides value, nothing more, nothing less.
---
## Features
### Rendering
- Vulkan-powered renderer with automatic resource tracking and barrier placement
- Forward+ pipeline with clustered lighting for efficient multi-light scenes
- PBR materials authored through a material graph compiled to shader code
### Architecture
- Entity Component System (ECS) built on EnTT for high-performance gameplay code
- Reflection system driving automatic serialization and editor integration
- Modular design with clean separation of concerns
### Editor
- ImGui-based editor with real-time scene manipulation
- Scene hierarchy for entity management
- Component inspector with UI generated automatically via reflection
### Performance
- Multi-threaded task system built with fibers.
- Custom memory allocators built on RPMalloc
- Built-in profiling through Tracy integration
### C# Scripting
- C# scripting via LuminaSharp, a CoreCLR host that bundles the .NET 10 runtime
- EntityScript-based gameplay with full ECS access: `Registry.View` queries,
C# entity systems, and component reads and writes
- Reflection-driven C++ to C# bindings generated automatically by the Reflector
- Hot-reloadable scripts for iterating on gameplay without recompiling
- High-level gameplay APIs through the `World` facade: Physics, Navigation,
Input, Messages, and GameplayTags
---
## Documentation
[Getting Started](https://luminagameengine.com/getting-started/introduction/)
---
## Screenshots