.NET 10 · Apache-2.0

A game engine that is also an application framework.

The same stack that ships a game ships Photoshop- or Blender-class desktop tooling — archetype ECS, a render graph over Vulkan, OpenGL and WebGPU, a retained-mode UI framework and its own shading language. The editor is written in the engine, which is the proof rather than the claim.

Every page here is generated from the engine's own source at every build, and every example on it compiles against the engine CI has just tested.

Movement.cscsharp
var moving = new QueryDescription().WithAll<Position, Velocity>();foreach (var chunk in world.Chunks(moving)) {    var positions = chunk.Values<Position>();    var velocities = chunk.ReadValues<Velocity>();    for (var index = 0; index < chunk.Count; index++) {        positions[index].X += velocities[index].X * delta;        positions[index].Y += velocities[index].Y * delta;    }}

4 659

public types, classified

165

UI controls

48

ECS systems

48

Raven shaders

Everything it offers

Not a list somebody maintains: each of these is a page built from what the code declares, so a feature appears the day it exists and says what it costs.

Archetype ECS

Entities are rows, components are columns, and a query walks chunks rather than objects. The scheduler parallelises on what a system declares it reads and writes.

39 scene components · 48 systems

Render graph and RHI

One surface over Vulkan, OpenGL/GLES/WebGL2 and WebGPU, with culling, resource aliasing and batched barriers derived rather than hand-written.

bindless descriptors · reversed depth

Raven, the shading language

Shaders are a language this engine owns, compiled to SPIR-V with reflection — which is why a shader page can tell you its bindings and its permutations.

48 shaders · 64 graph nodes

Retained-mode UI

The framework the editor is built out of: layout, text shaping, theming and markup, running on the same renderer as the game.

165 controls

Asset pipeline

Importers claim extensions, the compiler produces deterministic content, and the editor watches the tree — the same pipeline in the editor and in a build.

22 importers

Editor and tooling

Panels, inspectors, a scene view and play mode, plus a CLI, templates and the asset compiler. Written in the engine, which is what keeps the framework honest.

275 namespaces · 143 projects

Networking

Replicated components with channels, send rates and per-field quantisation, and a wire format asserted byte-for-byte on three operating systems.

declared, not configured

Gates, not conventions

Public API, architecture rules, formatting and documentation coverage all fail the build, and every example in the guide compiles against the engine on every run.

8 diagnostics · 64 log events

Built for agents too

The graph this site renders is also an MCP server, so a coding agent searches the real API of the version you have installed rather than guessing at a name.

vixen-mcp · six tools

Documentation the build refuses to let rot

A component's page says its size in bytes and how many fit in a chunk. A system's says its phase and what it reads and writes. A shader's says its descriptor sets. None of it is written by hand — it is read from declarations the compiler already relies on, so a page cannot describe an engine that no longer exists.

  • A new public type fails the build until somebody writes about it.
  • Every fenced example is compiled against the engine, and coloured by the compiler that checked it.
  • Each release emits its own table — added, removed, deprecated, and the breaking changes whose signatures are identical.
  • Every page links to the exact lines it was read from on GitHub.

Where it runs

One RHI, several backends, and the honest state of each — this site would rather tell you what is simulator-only than let you find out after a week.

WindowsmacOSLinuxWebiOS — simulatorAndroid — emulator

Vulkan is validation-clean on MoltenVK and lavapipe; the browser goes through WebGL2 and WebGPU; iOS and Android run on the simulator and the emulator, and say so.

Start with an entity

The guide begins with the ECS: what a component is, and how to iterate the entities that have one. Everything else in the engine is reachable from there.