Nevo Engine Documentation

A practical manual for building games, editing projects, and extending Nevo Engine.

Start Here

Nevo Engine is a C++ game engine with a data-oriented ECS, JSON scenes, native gameplay systems, OpenGL and DX12 backends, NVEditor tooling, physics through Jolt, and component-driven post-processing.

This wiki is written for game developers first. The public API pages use exported headers from include/nevo or Nevo-Engine/shared; internal headers are documented only when you are modifying the engine itself.

Getting Started

  • Build and Run - Build the engine, Nevo-base, and NVEditor on Windows/MSYS2 or Linux.
  • Game Project Structure - Where code, scenes, materials, shaders, textures, and runtime artifacts live.
  • Editor Workflow - Open projects, edit scenes, round-trip JSON, and work with materials in NVEditor.

Game Development

  • ECS Public API - Register components and systems, create entities, and run gameplay logic.
  • Input Management - Keyboard, mouse, focus, and cursor-lock APIs.
  • Debug Utilities - Logging, crash handling, system diagnostics, and runtime flags.
  • Scene JSON - Scene file shape, built-in component JSON, load paths, and custom component registration.
  • Materials and Shaders - Material JSON, shader metadata, texture slots, and renderer flags.

API Reference

  • Engine API - Public::Engine, lifecycle, flags, scenes, and custom component loaders.
  • ECS API - Coordinator, System, signatures, component views, and entity lifetime.
  • Built-In Components - Transform, rendering, camera, light, animation, physics, and post-processing fields.
  • Physics API - PhysicsSystem, rigidbodies, colliders, public body controls, and raycasts.
  • Input API - Key codes, mouse state, and cursor control.
  • Debug API - DebugManager, log levels, crash dumps, and helpers.

Practical Examples

Engine and Editor Internals

Working Rule of Thumb

Use the public headers and JSON formats first. If a workflow requires an internal header, document it as engine work, not game code.