SDL3-CS 3.4.10.5

There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package SDL3-CS --version 3.4.10.5
                    
NuGet\Install-Package SDL3-CS -Version 3.4.10.5
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SDL3-CS" Version="3.4.10.5" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SDL3-CS" Version="3.4.10.5" />
                    
Directory.Packages.props
<PackageReference Include="SDL3-CS" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SDL3-CS --version 3.4.10.5
                    
#r "nuget: SDL3-CS, 3.4.10.5"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SDL3-CS@3.4.10.5
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SDL3-CS&version=3.4.10.5
                    
Install as a Cake Addin
#tool nuget:?package=SDL3-CS&version=3.4.10.5
                    
Install as a Cake Tool

About

SDL3-CS is a C# wrapper for SDL3. The managed SDL3-CS package contains the C# wrapper, while native binaries are published as platform-specific package families.

Latest Release

Current stable release: SDL3-CS 3.4.10.5.

Package family Version
SDL3-CS 3.4.10.5
SDL3-CS.<Platform> 3.4.10.5
SDL3-CS.<Platform>.Image 3.4.4.5
SDL3-CS.<Platform>.Mixer 3.2.4.5
SDL3-CS.<Platform>.TTF 3.2.2.5
SDL3-CS.<Platform>.Shadercross 3.0.0.5

Documentation

Supported Platforms

The managed wrapper targets .NET 7, .NET 8, .NET 9, and .NET 10.

Platform family Native package suffix Supported RIDs / ABIs Notes
Windows Windows win-x86, win-x64, win-arm64 Dynamic SDL libraries for desktop Windows apps.
Linux Linux linux-x64, linux-arm64 Built against glibc 2.28 or newer.
macOS MacOS osx-x64, osx-arm64 Dynamic SDL libraries for Intel and Apple Silicon macOS apps.
Android Android android-arm, android-arm64, android-x86, android-x64 Includes the SDL Android bridge in SDL3-CS.Android.
iOS iOS ios-arm64, iossimulator-arm64, iossimulator-x64 Static native assets are linked through package buildTransitive targets.
tvOS tvOS tvos-arm64, tvossimulator-arm64, tvossimulator-x64 Static native assets are linked through package buildTransitive targets.

Installation

Install the managed wrapper:

dotnet add package SDL3-CS

Add the native package family that matches your target platform. For a Windows desktop app:

dotnet add package SDL3-CS.Windows
dotnet add package SDL3-CS.Windows.Image
dotnet add package SDL3-CS.Windows.TTF
dotnet add package SDL3-CS.Windows.Mixer
dotnet add package SDL3-CS.Windows.Shadercross

Replace Windows with Linux, MacOS, Android, iOS, or tvOS.

Platform SDL SDL_image SDL_ttf SDL_mixer SDL_shadercross
Windows SDL3-CS.Windows SDL3-CS.Windows.Image SDL3-CS.Windows.TTF SDL3-CS.Windows.Mixer SDL3-CS.Windows.Shadercross
Linux SDL3-CS.Linux SDL3-CS.Linux.Image SDL3-CS.Linux.TTF SDL3-CS.Linux.Mixer SDL3-CS.Linux.Shadercross
macOS SDL3-CS.MacOS SDL3-CS.MacOS.Image SDL3-CS.MacOS.TTF SDL3-CS.MacOS.Mixer SDL3-CS.MacOS.Shadercross
Android SDL3-CS.Android SDL3-CS.Android.Image SDL3-CS.Android.TTF SDL3-CS.Android.Mixer SDL3-CS.Android.Shadercross
iOS SDL3-CS.iOS SDL3-CS.iOS.Image SDL3-CS.iOS.TTF SDL3-CS.iOS.Mixer SDL3-CS.iOS.Shadercross
tvOS SDL3-CS.tvOS SDL3-CS.tvOS.Image SDL3-CS.tvOS.TTF SDL3-CS.tvOS.Mixer SDL3-CS.tvOS.Shadercross

Android applications use MainActivity : Org.Libsdl.App.SDLActivity, override GetLibraries(), and run SDL from the managed Main() override.

Example

using SDL3;

namespace CreateWindow;

internal static class Program
{
    [STAThread]
    private static void Main()
    {
        if (!SDL.Init(SDL.InitFlags.Video))
        {
            SDL.LogError(SDL.LogCategory.System, $"SDL could not initialize: {SDL.GetError()}");
            return;
        }

        if (!SDL.CreateWindowAndRenderer("SDL3 Create Window", 800, 600, 0, out var window, out var renderer))
        {
            SDL.LogError(SDL.LogCategory.Application, $"Error creating window and renderer: {SDL.GetError()}");
            return;
        }

        SDL.SetRenderDrawColor(renderer, 100, 149, 237, 255);
        SDL.RenderClear(renderer);
        SDL.RenderPresent(renderer);

        SDL.DestroyRenderer(renderer);
        SDL.DestroyWindow(window);
        SDL.Quit();
    }
}

Feedback and Contributions

Open an issue or start a discussion for bugs, ideas, and questions.

See the repository README for the full project overview.

Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.
  • net7.0

    • No dependencies.
  • net8.0

    • No dependencies.
  • net9.0

    • No dependencies.

NuGet packages (13)

Showing the top 5 NuGet packages that depend on SDL3-CS:

Package Downloads
3DEngine

3D Game Engine - Vulkan - SDL3 - .NET 10 - C# 14

Bliss

A fast, Cross-platform .NET 10 C# 14 Render Framework.

SdlVulkan.Renderer

Package Description

StreamLayout

Package Description

Brine2D.Rendering.SDL

SDL3 rendering implementation for Brine2D. Includes GPU renderer (alpha) and legacy renderer with texture loading, shader support, and TTF text rendering.

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on SDL3-CS:

Repository Stars
Valkirie/HandheldCompanion
ControllerService
Version Downloads Last Updated
3.5.0-preview.20260205-174352 122 2/5/2026
3.4.10.5 74 6/27/2026
3.4.10.4 220 6/24/2026
3.4.10.3 709 6/20/2026
3.4.10.2 456 6/14/2026
3.4.10.1 127 6/13/2026
3.4.2 5,757 3/17/2026
3.3.7 6,935 1/12/2026
3.3.6 2,095 12/22/2025
3.3.3 791 12/12/2025
Loading failed