Repository navigation
VOID Engine 2.0.1
VOID Engine 2.0.0
VOID 2.0 is here.
This release is a major architectural update that replaces VOID's old SFML-based foundation with a platform and rendering stack owned by VOID and designed around extensibility.
Packages
Void.Engine 2.0.1Void.Packer 1.0.1Void.Packer.CLI 1.0.1Void.Templates 1.0.1
What's New
New Platform and Rendering Foundation
VOID is no longer built around SFML.
VOID 2.0 now uses:
- SDL3-CS for windows, displays, events, keyboard, mouse, gamepads, fullscreen, and platform integration
- Silk.NET.OpenGL for the built-in OpenGL renderer
- Silk.NET.OpenAL with NAudio.SoundFile for audio
Pluggable Rendering
The renderer is no longer tied to OpenGL or an internal platform implementation.
VOID now exposes renderer-neutral APIs including:
IRendererBackendIGraphicsDeviceIRendererContext- renderer-neutral textures, shaders, buffers, pipelines, samplers, render targets, and graphics resources
Developers can build their own backends for APIs such as Vulkan, Direct3D, Metal, OpenGL, or other custom renderers without forking VOID.
Camera and Math
VOID now includes its own matrix implementation and an extensible camera foundation.
Highlights include:
BaseCamera- VOID-owned
Matrix - camera rotation
- matrix-based
WorldToScreen/ScreenToWorld - rotated camera bounds and culling
- support for custom camera implementations
Rendering Performance
The 2.0 renderer received a large internal cleanup and optimization pass.
Changes include:
- indexed sprite rendering using four vertices per sprite
- reusable index buffers
- reduced redundant OpenGL state changes
- improved GPU buffer uploads
- reduced unnecessary CPU-side copies
- improved camera and atlas hot paths
- rendering and batching correctness fixes
Texture Atlas Reliability
The atlas system received extensive correctness work, including:
- fixes for overlapping Skyline regions
- stronger Skyline and Guillotine validation
- transactional defragmentation
- safer custom
IAtlasPackersupport - synchronized CPU metadata and GPU uploads
- improved LRU eviction and recovery
- more accurate atlas metrics
Input, Audio, Logging, Pathfinding, and Core Fixes
VOID 2.0 also includes a large collection of improvements across the rest of the framework, including:
- SDL3 keyboard, mouse, and gamepad input
- improved
InputActionhandling - OpenAL-based audio
- pathfinding correctness fixes
- hardened logging and shutdown behavior
FastRandom,Vect2,FrameTime,DisplayMode, andMatrixfixes- improved LDtk setting lookups without exception-driven
TryGetpaths - extensive public API documentation cleanup
Asset Packer
The VOID asset packing tools have also been refreshed.
Void.Packer and Void.Packer.CLI provide:
- AES-GCM authenticated encryption
- compression
- integrity verification
- configurable chunked encryption
- streaming reads
- incremental updates
The installed CLI command is now:
void-packerMigration
VOID 2.0 contains breaking changes for projects that directly relied on the old SFML-based graphics APIs.
Existing high-level VOID workflows remain familiar, but renderer integrations, graphics resources, camera extensions, and platform-specific code may require migration.
Install
dotnet add package Void.EngineOr start with the project template:
dotnet new install Void.Templates
dotnet new voidgame -n MyGameVOID 2.0 establishes the new foundation for the engine: renderer-neutral, platform-independent, extensible, and fully owned by VOID.