Skip to content

Introduction

Lumina is a modern C++ game engine built on Vulkan. It pairs a data-driven editor with C# scripting, a sparse-set entity component system, a reflection system, and a forward+ renderer. It is built for learning real engine architecture and for prototyping on a clean, modular codebase.

This section takes you from a fresh clone to the editor running with your first project loaded.

  1. Build the engine from source.
  2. Run the editor and create a project from its project browser.
  3. Launch the editor with your project loaded.

Lumina builds and runs on 64-bit Windows and 64-bit Linux. There are no macOS builds. Both platforms are built from the same sources by the same build tool, and every entry-point script has a counterpart on the other: Setup.bat and Setup.sh, LuminaBuild.bat and LuminaBuild.sh.

The differences that matter are the compiler, and what the IDE story looks like. Windows generates a Visual Studio solution; Linux generates a compile_commands.json for clangd-based tooling, because nothing there can open a .sln.

RequirementDetails
.NETThe .NET 10 SDK (x64), required to build the C# scripting layer
GPUA GPU and driver supporting Vulkan 1.4 and mesh shaders (VK_EXT_mesh_shader)
GitAny recent version

The GPU requirement is a hard floor, not a recommendation: the renderer draws all geometry through mesh shaders and is rejected at startup on a device that cannot run them. That means NVIDIA Turing (GTX 16 / RTX 20) or newer, AMD RDNA2 (RX 6000) or newer, or Intel Arc.

RequirementDetails
OSWindows 10 (1803 or newer) or Windows 11, 64-bit
IDEVisual Studio 2026 (18.0 or newer) with the MSVC v143 toolset
RequirementDetails
DistributionAny 64-bit distribution
CompilerGCC 13 or newer, or Clang against a libstdc++ that new. Built and tested with GCC 13-15.
Window systemX11 development packages, which GLFW links directly. Wayland sessions work through XWayland.
VulkanThe loader (libvulkan1) and your vendor’s driver, at run time only

Ready? Continue to Installation.