Overview

Modularity is a lightweight, extensible game engine designed around runtime-compiled C++ scripting, clear engine boundaries, and predictable behavior.

The engine prioritizes developer control, low overhead, and explicit systems over heavy abstraction or hidden magic. It's built to feel familiar to developers who prefer traditional engine architecture, while still offering modern tooling such as hot-compiled scripts, an integrated editor, and structured runtime APIs.

Core Design Philosophy

Explicit over Implicit

Systems do what they say. There are no hidden update loops or invisible object lifetimes.

Runtime Compilation

C++ scripts are compiled, loaded, and reloaded at runtime without restarting the engine.

Unified Code Paths

Editor and runtime share the same code paths — what runs in the editor is what runs in-game.

Low-Friction Iteration

Most tasks (scripting, transforms, logging, debugging) require minimal boilerplate.

Engine Architecture

Core Engine

  • Rendering & scene management
  • Transform system
  • Asset loading (OBJ, Assimp)

Editor

  • Dockable viewport & inspectors
  • ImGui-based UI
  • Integrated console & logging

C++ Scripting

  • Runtime compilation & hot-reload
  • Script lifecycle hooks
  • Persistent settings via AutoSetting

Who is Modularity For?

Modularity is ideal for developers who:

  • Prefer C++ over managed scripting languages
  • Want control over memory, execution, and performance
  • Value explicit engine behavior
  • Are building tools, engines, or technically-driven projects

It is not designed to hide complexity — it is designed to make complexity manageable.