NeoVeldrid 1.0.0-rc.1

This is a prerelease version of NeoVeldrid.
dotnet add package NeoVeldrid --version 1.0.0-rc.1
                    
NuGet\Install-Package NeoVeldrid -Version 1.0.0-rc.1
                    
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="NeoVeldrid" Version="1.0.0-rc.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NeoVeldrid" Version="1.0.0-rc.1" />
                    
Directory.Packages.props
<PackageReference Include="NeoVeldrid" />
                    
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 NeoVeldrid --version 1.0.0-rc.1
                    
#r "nuget: NeoVeldrid, 1.0.0-rc.1"
                    
#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 NeoVeldrid@1.0.0-rc.1
                    
#: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=NeoVeldrid&version=1.0.0-rc.1&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=NeoVeldrid&version=1.0.0-rc.1&prerelease
                    
Install as a Cake Tool

<p align="center"> <img src="art/logo-horizontal.svg" alt="NeoVeldrid" width="400"> </p>

<p align="center"> <a href="https://github.com/jhm-ciberman/neo-veldrid/actions/workflows/ci.yml"><img src="https://github.com/jhm-ciberman/neo-veldrid/actions/workflows/ci.yml/badge.svg" alt="Tests"></a> <a href="https://www.nuget.org/packages/NeoVeldrid"><img src="https://img.shields.io/nuget/vpre/NeoVeldrid" alt="NuGet"></a> </p>

A low-level, high-performance, cross-platform graphics library for .NET. Build 2D and 3D games, simulations, and tools with a single portable API across Vulkan, Direct3D 11, OpenGL, and OpenGL ES.

NeoVeldrid is a maintained fork of Veldrid, with all native bindings replaced by Silk.NET. The public API is fully preserved.

Documentation | Getting Started | API Reference

NeoDemo - Sponza Atrium

Features

  • Multi-backend - Write your rendering code once. It runs on Vulkan, Direct3D 11, OpenGL, and OpenGL ES without any changes.
  • Cross-platform - Windows, Linux, and macOS from a single codebase.
  • High performance - Thin abstraction close to the metal. Allocation-free rendering loop with no GC pressure.
  • Multi-threaded - Most NeoVeldrid objects can be used from multiple threads simultaneously.
  • Modern GPU features - Programmable shaders, compute, structured buffers, array textures, multisampling, multi-target framebuffers.
  • Portable shaders - Write GLSL once, cross-compile to all backends via SPIR-V at runtime.
  • Headless - Run without a window for background GPU-accelerated operations.

Platform Support

Vulkan D3D11 OpenGL OpenGL ES
Windows
Linux --
macOS ✅ (1) -- --

(1) Via MoltenVK, bundled automatically. No setup required.

Quick Start

dotnet new console -n MyGame
cd MyGame
dotnet add package NeoVeldrid --prerelease
dotnet add package NeoVeldrid.StartupUtilities --prerelease
dotnet add package NeoVeldrid.SPIRV --prerelease

See the documentation for tutorials, API reference, and the samples directory.

Coming from Veldrid?

NeoVeldrid preserves full API compatibility. Update your NuGet packages, rename the namespace, and you're done. NeoVeldid is a drop-in replacement for Veldrid, with all the same features and API you already love, but with a new binding stack that is actively maintained and updated to support the latest graphics drivers and platforms. See the Migration Guide for details.

Contributing

See CONTRIBUTING.md for build instructions, testing guidelines, and how to submit a PR.

Acknowledgments

NeoVeldrid exists thanks to Eric Mellino (@mellinoe), who designed and built the original Veldrid. The architecture, public API, and core abstractions are entirely his work. NeoVeldrid only replaces the internal binding layer - the design that makes it all possible is Eric's. His library opened the door to cross-platform graphics programming in .NET for many of us, and we're grateful for that.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on NeoVeldrid:

Package Downloads
NeoVeldrid.SDL2

SDL2 windowing support for NeoVeldrid via Silk.NET.SDL.

NeoVeldrid.StartupUtilities

Helper classes for creating and managing application windows and user input.

NeoVeldrid.Utilities

Miscellaneous utility functions useful for NeoVeldrid.

NeoVeldrid.SPIRV

SPIR-V cross-compilation for NeoVeldrid using Silk.NET. Compiles GLSL to SPIR-V and cross-compiles SPIR-V to HLSL, GLSL, and ESSL.

NeoVeldrid.ImageSharp

ImageSharp integration for NeoVeldrid. Provides functionality for loading GPU Textures with ImageSharp.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0-rc.1 72 4/5/2026