Features

Useful systems.
Room to make them yours.

VOID covers the framework-level pieces most 2D games need while keeping extension points available where different projects reasonably need different solutions.

Rendering

Batched sprite and primitive rendering, texture atlasing, shaders, render targets, post-processing, and renderer-neutral public graphics contracts.

Platform

SDL3 windowing, displays, fullscreen modes, events, keyboard, mouse, and gamepads.

Assets

Mount-based virtual file system, custom asset types, pack loading, and LRU eviction.

Audio

Silk.NET.OpenAL playback, sound pooling, priority-based voice stealing, and category volumes.

Saving

AES-GCM encrypted saves with manifest verification and custom content type support.

Pathfinding

A*, Dijkstra, BFS, and flow-field pathfinding.

Coroutines

Tweens, sequencing, delays, waits, and easing helpers for game flow and animation.

Logging

Asynchronous logging with console and file sinks plus extension points for custom destinations.

Math

Vectors, matrices, rectangles, colors, easing, random helpers, and framework-oriented geometry utilities.

Tooling

Official project templates plus authenticated, encrypted asset packing through the packer API and void-packer CLI.

LDtk

LDtk level and asset integration for content-driven 2D workflows.

Extensibility

Replace or extend renderer backends, graphics devices, asset mounts, atlas packing, log sinks, batchers, render targets, cameras, and more.

Start building

Use the defaults. Replace what you need.

The official template is the fastest path to a known-good VOID project.