CodeBrix.Platform.GameEngine.MitLicenseForever
1.0.201.374
See the version list below for details.
dotnet add package CodeBrix.Platform.GameEngine.MitLicenseForever --version 1.0.201.374
NuGet\Install-Package CodeBrix.Platform.GameEngine.MitLicenseForever -Version 1.0.201.374
<PackageReference Include="CodeBrix.Platform.GameEngine.MitLicenseForever" Version="1.0.201.374" />
<PackageVersion Include="CodeBrix.Platform.GameEngine.MitLicenseForever" Version="1.0.201.374" />
<PackageReference Include="CodeBrix.Platform.GameEngine.MitLicenseForever" />
paket add CodeBrix.Platform.GameEngine.MitLicenseForever --version 1.0.201.374
#r "nuget: CodeBrix.Platform.GameEngine.MitLicenseForever, 1.0.201.374"
#:package CodeBrix.Platform.GameEngine.MitLicenseForever@1.0.201.374
#addin nuget:?package=CodeBrix.Platform.GameEngine.MitLicenseForever&version=1.0.201.374
#tool nuget:?package=CodeBrix.Platform.GameEngine.MitLicenseForever&version=1.0.201.374
CodeBrix.Platform.GameEngine
A fully managed, cross-platform 2D and 2.5D game engine for .NET. CodeBrix.Platform.GameEngine provides tile maps, sprites, layered scenes, camera/view systems, animation, physics and collision, input handling, audio, and SkiaSharp-based rendering — designed for tile-based worlds and a practical engine architecture.
This repository ships two core libraries, plus one optional add-on:
CodeBrix.Platform.GameEngine— the platform-agnostic engine core. It has no UI-framework dependency and is headless-testable; its rendering seam is SkiaSharpSKImageplus a render-surface-adapter abstraction.CodeBrix.Platform.GameEngine.Host— the host layer that runs the engine on CodeBrix.Platform, across all six heads (Windows Win32-Skia, Windows WPF-Skia, Linux X11, Linux Wayland, Linux Frame Buffer, macOS). It provides the CPU and GPU render-surface adapters, pointer/keyboard input adapters, and a UI dispatcher.CodeBrix.Platform.GameEngine.Sdl2— optional game controller (gamepad) support; see below.
CodeBrix.Platform.GameEngine is provided as .NET 10 libraries, shipped as a single CodeBrix.Platform.GameEngine.MitLicenseForever NuGet package that bundles both the engine-core (CodeBrix.Platform.GameEngine.dll) and host (CodeBrix.Platform.GameEngine.Host.dll) assemblies.
CodeBrix.Platform.GameEngine supports applications and assemblies that target Microsoft .NET version 10.0 and later. Microsoft .NET version 10.0 is a Long-Term Supported (LTS) version of .NET, and was released on Nov 11, 2025; and will be actively supported by Microsoft until Nov 14, 2028. Please update your C#/.NET code and projects to the latest LTS version of Microsoft .NET.
CodeBrix.Platform.GameEngine supports:
- Tile maps, tilesheets, and layered scenes with camera/view systems
- Sprites, composite sprites, and frame-based animation cycles
- Direct drawing primitives (images, rectangles, SVG, text, particles)
- Physics: movement, easing, scripted motion, and collision detection
- Input: keyboard, mouse, gamepad, and touch (with gestures)
- Audio playback and mixing (via CodeBrix.Audio)
- Save/load of engine state as JSON (via System.Text.Json + CodeBrix.Json.Extensions), including shared-reference object graphs
- A UI-agnostic core with a render-surface-adapter seam for headless unit testing
Sample Code
Creating and configuring the engine
using CodeBrix.Platform.GameEngine;
using CodeBrix.Platform.GameEngine.Configuration;
// Load engine configuration (defaults to "gameengine.json" if present).
var config = EngineConfigurationFile.Load();
// The engine is created and driven by the host layer
// (CodeBrix.Platform.GameEngine.Host) on a CodeBrix.Platform surface.
Gamepad support (optional)
Game controller support ships as a separate NuGet package, so that games which do not want a native SDL2 dependency do not inherit one:
dotnet add package CodeBrix.Platform.GameEngine.Sdl2.ZlibLicenseForever
One call attaches it to the engine, which then polls it every frame:
using CodeBrix.Platform.GameEngine.Sdl2;
var gamepads = Engine.Instance.InitializeSdlGamepadManager();
It works on all six heads — including Frame Buffer — because SDL2 is initialized as a headless joystick backend with no video subsystem. It never throws when SDL2 or a controller is missing; ask gamepads.IsAvailable and gamepads.UnavailableReason instead.
The package carries the SDL2 native binaries for Windows and macOS. On Linux it uses the system SDL2, which is its one prerequisite: sudo apt install libsdl2-2.0-0.
See AGENT-README.txt for the full documentation, including the gotchas worth knowing before wiring a game to it.
License
The project is licensed under the MIT License. see: https://en.wikipedia.org/wiki/MIT_License
The engine core is a port of the open-source Gondwana game engine (MIT); see THIRD-PARTY-NOTICES.txt for full attribution.
The optional CodeBrix.Platform.GameEngine.Sdl2 package is licensed MIT AND Zlib: its managed SDL2 bindings are adapted from Veldrid (MIT), and it redistributes the SDL2 native libraries (zlib). Both are attributed in full in THIRD-PARTY-NOTICES.txt.
| Product | Versions 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. |
-
net10.0
- CodeBrix.Audio.MitLicenseForever (>= 1.0.201.77)
- CodeBrix.Compression.MitLicenseForever (>= 1.0.198.139)
- CodeBrix.Json.Extensions.MitLicenseForever (>= 1.0.196.1178)
- CodeBrix.Platform.ApacheLicenseForever (>= 1.0.201.336)
- CodeBrix.Platform.Graphics3DGL.ApacheLicenseForever (>= 1.0.201.336)
- CodeBrix.Platform.SkiaSharp.Views.MitLicenseForever (>= 4.150.1)
- CodeBrix.Platform.Svg.ApacheLicenseForever (>= 1.0.201.336)
- CodeBrix.SkiaSvg.MitLicenseForever (>= 1.0.196.342)
- Microsoft.Extensions.Configuration (>= 10.0.10)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.10)
- Microsoft.Extensions.Configuration.Json (>= 10.0.10)
- Microsoft.Extensions.Logging.Console (>= 10.0.10)
- Microsoft.Extensions.Logging.Debug (>= 10.0.10)
- SkiaSharp (>= 4.150.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on CodeBrix.Platform.GameEngine.MitLicenseForever:
| Package | Downloads |
|---|---|
|
CodeBrix.Platform.GameEngine.Sdl2.ZlibLicenseForever
SDL2-based game controller (gamepad) support for CodeBrix.Platform.GameEngine. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.203.200 | 0 | 7/22/2026 |
| 1.0.201.518 | 54 | 7/20/2026 |
| 1.0.201.374 | 50 | 7/20/2026 |
| 1.0.199.1025 | 58 | 7/18/2026 |