Novolis Docs
novolis-raylib / getting-started.md

Getting started with Novolis.Raylib

dotnetraylibgamedevnovolis

Novolis.Raylib is a multi-package .NET 10 binding for raylib 6 and raygui.

Install

dotnet add package Novolis.Raylib

For test projects:

dotnet add package Novolis.Raylib.Testing

Pick an entry API

flowchart TB
  install[Novolis.Raylib]
  game[RayGame.Run]
  host[IHost + systems]
  shell[RaylibRuntimeShell]
  install --> game
  install --> host
  install --> shell
Use caseAPISample
Jam / prototypeNovolis.Raylib.Game → RayGame.Runnovolis-dogfooding/apps/raylib/HelloGame
DI / phased loopNovolis.Raylib.Hosting → AddRaylib, IRenderSystemnovolis-dogfooding/apps/raylib/HelloHosting
Low-level controlGraphics, World, Hud, Guinovolis-dogfooding/apps/raylib/HelloRuntime
Automated testsNovolis.Raylib.Testingnovolis-dogfooding/apps/raylib/HelloTesting
Frame streaming / clipsNovolis.Raylib.Capture (optional)novolis-dogfooding/apps/raylib/HelloCapture
Full 3D cockpit demoNovolis.Raylib.Gamenovolis-dogfooding/apps/raylib/XFighter

Do not add direct package references to Novolis.Raylib.Native or Novolis.Raylib.Abstractions unless you extend the stack.

Drawing model

Within one frame:

  1. Graphics.BeginDrawing()
  2. Optional 3D: World.Begin(camera) … World.End()
  3. Optional 2D overlay: Hud.*
  4. Optional UI: Gui.* (raygui, UTF-8)
  5. Graphics.EndDrawing()

Headless and CI

VariableEffect
NOVOLIS_RAYLIB_HEADLESS=1Skip blocking window loop
NOVOLIS_RAYLIB_OFFSCREEN_TESTS=1Enable test harness
NOVOLIS_RAYLIB_NATIVE_TESTS=1Load native DLLs in tests

Learn raylib concepts

Façade methods map to raylib C APIs. When you need parameter semantics, use the raylib cheatsheet and raylib wiki.

Package READMEs

Maintainers: codegen.md, testing.md.