SDL3-CS

C# bindings for the SDL3 family of libraries.

ProductUsagePackage
SDLdotnet add package ppy.SDL3-CSNuGet
SDL_imagedotnet add package ppy.SDL3_image-CSNuGet
SDL_ttfdotnet add package ppy.SDL3_ttf-CSNuGet
SDL_mixerdotnet add package ppy.SDL3_mixer-CSNuGet

Contributions to keep the bindings up-to-date with upstream changes are welcome. If you have improvements or updates, feel free to submit a pull request.

Platform support

Productwin-x64win-x86win-arm64osx-arm64osx-x64linux-x64linux-x86linux-arm64linux-armiosandroid
SDL3-CS
SDL3_image-CS
SDL3_ttf-CS
SDL3_mixer-CSAPI 24+

How to update SDL

  1. Ensure all submodules are correctly initialised:
    git submodule update --init --recursive
    
  2. Check out submodules at new desired upstream commits.
  3. Regenerate C# bindings via:
    docker build -t 'sdl-gen' .
    docker run --rm -v .:/app -w /app -it sdl-gen
    
  4. Run the "Build Native" (.github/workflows/build.yml) workflow to generate platform binaries.

License

This code is released under MIT.