Skip to content

C# API Reference

The full C# reference is a standalone DocFX site — generated from the WoWLib NuGet package's managed surface (the welder-generated wrapper, the per-era format factories and the typed db facades), carrying the same doc text as the Python and C++ references: every [[=welder::doc]] annotation becomes the member's <summary>.

Open the C# reference →

It opens in this same site under /api-cs. Two things to know:

  • The typed db facades (WoWLib.Database.Tables) are described, not enumerated. They are generated from the community WoWDBDefs definitions — one opener class plus one row struct per (table × game version), named per C# conventions (Map → MapWotlk + MapWotlkRow) — thousands of mechanically identical types that would drown the reference. The database guide walks the pattern once; IntelliSense carries each generated member's own documentation.
  • Family bases carry the version-agnostic surface. A ForVersion(...) result's members (the synthesized family surface) are documented on the base class pages — Formats.WMO.WMO, Formats.ADT.ADT, … — beside the per-era range classes.

If the link 404s, the reference has not been generated yet — build the C# surface once, then the site:

cmake --preset gcc16-csharp
cmake --build build/csharp --target wowlib_cs_sources   # no shim compile
.venv/bin/python docs/build.py build

wowlib_cs_sources produces only the generated C# (wrapper + facades); DocFX runs a design-time Roslyn build over the generated WoWLib.csproj, so the native library is never required. docs/build.py docfx rebuilds just this reference.