BSGameLib.Sdl3.Interop
1.0.4-preview
dotnet add package BSGameLib.Sdl3.Interop --version 1.0.4-preview
NuGet\Install-Package BSGameLib.Sdl3.Interop -Version 1.0.4-preview
<PackageReference Include="BSGameLib.Sdl3.Interop" Version="1.0.4-preview" />
<PackageVersion Include="BSGameLib.Sdl3.Interop" Version="1.0.4-preview" />
<PackageReference Include="BSGameLib.Sdl3.Interop" />
paket add BSGameLib.Sdl3.Interop --version 1.0.4-preview
#r "nuget: BSGameLib.Sdl3.Interop, 1.0.4-preview"
#:package BSGameLib.Sdl3.Interop@1.0.4-preview
#addin nuget:?package=BSGameLib.Sdl3.Interop&version=1.0.4-preview&prerelease
#tool nuget:?package=BSGameLib.Sdl3.Interop&version=1.0.4-preview&prerelease
BSGameLib.Sdl3.Interop
.NET bindings for SDL3, SDL3_image and SDL3_mixer: every function, struct and enum, generated from
the SDL headers, plus a few helpers. BSGameLib.Game is built on it, and it is usable without the
engine.
The native libraries come with it: BSGameLib.Sdl3.Native for SDL3 on Windows, Linux and macOS,
and BSGameLib.MoltenVK.Native for Vulkan on macOS. They are copied beside your executable for the
platform you build or publish for.
BSGameLib.Sdl3.Interop.Generated: the static classesSDL,SDL_imageandSDL_mixer, and their types, as raw P/Invoke.BSGameLib.Sdl3.Interop.Manual:Sdl.CheckandSdl.GetErrorfor error handling, constants, key codes and the Vulkan helpers.
using BSGameLib.Sdl3.Interop.Generated;
using BSGameLib.Sdl3.Interop.Manual;
using static BSGameLib.Sdl3.Interop.Generated.SDL;
using static BSGameLib.Sdl3.Interop.Manual.SdlConstants;
unsafe
{
Sdl.Check(SDL_Init(SDL_INIT_VIDEO));
SDL_Window* window;
fixed (byte* title = "Hello SDL3\0"u8)
window = Sdl.Check(SDL_CreateWindow((sbyte*)title, 800, 600, SDL_WINDOW_RESIZABLE));
var running = true;
SDL_Event e;
while (running)
while (SDL_PollEvent(&e) != 0)
if (e.type == (uint)SDL_EventType.SDL_EVENT_QUIT)
running = false;
SDL_DestroyWindow(window);
SDL_Quit();
}
The bindings use pointers, so a project using them sets <AllowUnsafeBlocks>true</AllowUnsafeBlocks>.
Documentation: https://docs.burningstormstudios.com/
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- BSGameLib.MoltenVK.Native (>= 1.0.3-preview)
- BSGameLib.Sdl3.Native (>= 1.0.3-preview)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on BSGameLib.Sdl3.Interop:
| Package | Downloads |
|---|---|
|
BSGameLib.Game
A 2D game engine for .NET on SDL3, with Vulkan and OpenGL renderers, shaders compiled at build, content, input, audio, localization and Dear ImGui. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.4-preview | 58 | 11/9/2026 |