About this project

Foster is a small, cross-platform game framework written in C#, focused on 2D games. The README explicitly labels it as very work in progress, warning that frequent breaking changes are likely and that it should be used at the user's own risk. Installation options are straightforward: add a reference to the NuGet package (FosterFramework), or clone the repository and reference Foster/Framework/Foster.Framework.csproj directly. A separate Samples repository provides demos and examples to help new users get started, and the project points to GitHub Discussions and a Discord server for community involvement. Dependencies include .NET 10.0 and C# 14, plus SDL3, which has prebuilt binaries for various platforms produced through GitHub Actions. Rendering is implemented with SDL_GPU. Shaders must follow SDL_GPU shader resource requirements, and users can choose which graphics device to use when running an application. Shaders must be supplied for the target renderer, such as SPIR-V for Vulkan; built-in shaders cover 2D rendering, so this only matters when writing custom shaders. The README notes inspiration from other frameworks and APIs, particularly FNA. It also states that this is the second iteration of the library, with the first version available in a separate repository. Contributions are welcome, but additions that introduce external dependencies or complicate the build process will not be accepted.