BSGameLib is the game framework behind our games, for .NET 10: a 2D engine on SDL3 with Vulkan and OpenGL renderers, a UI layer, QUIC networking, a chat and command engine, and a dedicated server host. It comes as separate NuGet packages, so a game takes only the pieces it needs.

Read the documentation: guides from a first window to a first online game, and the full API reference.

The packages

  • BSGameLib.Game
    The engine. Window, rendering, shaders compiled at build, content, input, audio, localization and Dear ImGui.
  • BSGameLib.UI
    Views in XML or C#, bound to view-models, with layouts, controls, styles and themes.
  • BSGameLib.Networking
    Client and server networking over QUIC, with nothing to install.
  • BSGameLib.Server
    A dedicated server host that finds your code, listens over QUIC and runs your game loop, as a console app or a service.
  • BSGameLib.Chat
    Chat and slash commands with typed parameters, for a server or anywhere else.
  • BSGameLib.Game.ShaderCompiler
    Compiles shaders at runtime, for those the build never saw.
  • BSGameLib.Sdl3.Interop
    .NET bindings for SDL3, SDL3_image and SDL3_mixer, with the native libraries.

They’re on NuGet, MIT licensed and free to use. They’re previews for now, so the API can still change between versions.