Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Packages shows this repository README on every package page (upstream limitation). Open the package README for install and quick start — embedded in each .nupkg and linked below.

Published packages

Package Install Package README
Novolis.Raylib dotnet add package Novolis.Raylib README
Novolis.Raylib.Abstractions dotnet add package Novolis.Raylib.Abstractions README
Novolis.Raylib.Bindings dotnet add package Novolis.Raylib.Bindings README
Novolis.Raylib.Capture dotnet add package Novolis.Raylib.Capture README
Novolis.Raylib.Game dotnet add package Novolis.Raylib.Game README
Novolis.Raylib.Hosting dotnet add package Novolis.Raylib.Hosting README
Novolis.Raylib.Manifests dotnet add package Novolis.Raylib.Manifests README
Novolis.Raylib.Native dotnet add package Novolis.Raylib.Native README
Novolis.Raylib.Raygui dotnet add package Novolis.Raylib.Raygui README
Novolis.Raylib.Raygui.Native dotnet add package Novolis.Raylib.Raygui.Native README
Novolis.Raylib.Runtime dotnet add package Novolis.Raylib.Runtime README
Novolis.Raylib.Testing dotnet add package Novolis.Raylib.Testing README

For NuGet.org and Visual Studio, the embedded README.md inside each package is authoritative.

Novolis.Raylib

Multi-package .NET bindings for raylib 6 + raygui.

Install

dotnet add package Novolis.Raylib

Test projects:

dotnet add package Novolis.Raylib.Testing

Packages

All publishable packages live under src/. Install Novolis.Raylib for games and apps; it pulls the rest transitively. Do not reference Novolis.Raylib.Native or Novolis.Raylib.Abstractions directly unless you have a special reason.

flowchart TB
  meta["Novolis.Raylib<br/><i>meta — install this</i>"]
  game[Novolis.Raylib.Game]
  hosting[Novolis.Raylib.Hosting]
  runtime[Novolis.Raylib.Runtime]
  bindings[Novolis.Raylib.Bindings]
  abstractions[Novolis.Raylib.Abstractions]
  native["Novolis.Raylib.Native<br/><i>DLLs only, no C#</i>"]
  testing["Novolis.Raylib.Testing<br/><i>test projects</i>"]
  capture["Novolis.Raylib.Capture<br/><i>optional</i>"]

  meta --> game
  meta --> hosting
  meta --> runtime
  meta --> abstractions
  meta --> native
  game --> runtime
  hosting --> runtime
  runtime --> bindings
  runtime --> abstractions
  bindings --> native
  abstractions --> native
  testing --> meta
  capture --> runtime
Loading
Package Role Depends on
Novolis.Raylib Meta package — one install for the full stack Game, Hosting, Runtime, Abstractions, Native
Novolis.Raylib.Game RayGame.Run jam API Runtime
Novolis.Raylib.Hosting IHost + phased systems (IRenderSystem, …) Runtime
Novolis.Raylib.Runtime Generated façades (Graphics, World, Hud, Gui, …), window shell, logging, debug Bindings, Abstractions, Native (assets)
Novolis.Raylib.Bindings Generated P/Invoke + shared types (Camera, Texture, …) Native (assets)
Novolis.Raylib.Abstractions Frame/shell contracts (transitive) Native (assets)
Novolis.Raylib.Native raylib + novolis_raygui binaries per RID (no managed code)
Novolis.Raylib.Capture Per-frame framebuffer streaming (FrameCaptureSession) Runtime
Novolis.Raylib.Testing Offscreen harness, golden QA, deterministic clock (tests only) Novolis.Raylib, Capture

Optional capture (not in the meta package):

dotnet add package Novolis.Raylib.Capture

Native assets: Novolis.Raylib.Native packs prebuilt raylib from codegen/pipeline/raylib6/steps/step_01_source/artifacts/ plus shims from step_02_native/artifacts/ (built via maintainer pipeline). That is separate from Novolis.Raylib.Bindings, which holds the C# interop.

Not published: Roslyn codegen under codegen/ (see docs/codegen.md).

Getting started

See docs/getting-started.md for choosing Game vs Hosting vs Runtime, frame order, and samples.

Quick start (Game)

using Novolis.Raylib.Colors;
using Novolis.Raylib.Game;

RayGame.Run("Demo", 800, 600, ctx =>
{
    ctx.Clear(RaylibColors.RayWhite);
    ctx.Text("Hello", 12, 12, 20, RaylibColors.DarkGray);
});

Maintainer pipeline

dotnet run --project codegen/Novolis.Raylib.Pipeline -- run maintainer
dotnet run --project codegen/Novolis.Raylib.Pipeline -- run agent-verify
dotnet build Novolis.Raylib.slnx

See docs/codegen.md, docs/testing.md, and agentic-tools/README.md (AI agent workflows).

About

Novolis ecosystem repository: novolis-raylib

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages