Sachssoft.Sasogine 0.11.0-alpha

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

Sachssoft Sasogine

Sasogine is a lightweight, extensible and AOT-friendly game engine framework for .NET built on top of MonoGame.

It provides reusable engine infrastructure for assets, resources, rendering, input, audio, components, tools, serialization and platform integration while keeping platform-specific services and graphics backends separated from the engine core.

Sasogine is currently in an early alpha stage. APIs, project structure and package boundaries may still change before a stable release.

Version 0.11.0-alpha introduces a major architectural refactoring. The core engine is no longer tied directly to DesktopGL; platform integrations and rendering backends are maintained as separate projects.

Documentation

Requirements

  • .NET 8.0
  • .NET 9.0
  • .NET 10.0
  • MonoGame 3.8.5.1
  • Trimming-compatible design
  • Native AOT-compatible design

Platform-specific projects use their corresponding .NET target frameworks, such as net*-windows, net*-android and net*-ios where required.

Packages

Sasogine is under active alpha development. Package boundaries, APIs and backend availability may still change before a stable release.

Engine and Modules

Module Package Usage NuGet
Basic Sachssoft.Sasogine Backend-independent engine core NuGet
Documents Sachssoft.Sasogine.Documents Documents, resources and serialization integration NuGet
Toolkit Sachssoft.Sasogine.Toolkit Reusable editor and development tools NuGet
UI / Surface Sachssoft.Sasogine.UI UI and surface infrastructure NuGet

Rendering Backends

Backend Package Graphics API NuGet
DesktopGL Sachssoft.Sasogine.DesktopGL OpenGL through MonoGame DesktopGL NuGet
DesktopVK Sachssoft.Sasogine.DesktopVK Vulkan through MonoGame Native NuGet
WindowsDX Sachssoft.Sasogine.WindowsDX Classic MonoGame DirectX backend NuGet
WindowsDX12 Sachssoft.Sasogine.WindowsDX12 DirectX 12 through MonoGame Native NuGet

Platforms

Platform Package Usage NuGet
Windows Sachssoft.Sasogine.Platform.Windows Windows-specific platform services NuGet
Linux Sachssoft.Sasogine.Platform.Linux Linux-specific platform services NuGet
macOS Sachssoft.Sasogine.Platform.MacOs macOS-specific platform services NuGet
Android Sachssoft.Sasogine.Platform.Android Android platform integration NuGet
iOS Sachssoft.Sasogine.Platform.iOS iOS platform integration NuGet

Published Sasogine packages can also be found on the Sachssoft NuGet profile.

Rendering Backends

Rendering backends are separate from platform services.

DesktopGL

Sachssoft.Sasogine.DesktopGL uses the MonoGame DesktopGL backend.

Typical desktop targets:

  • Windows
  • Linux
  • macOS

DesktopVK

Sachssoft.Sasogine.DesktopVK uses MonoGame's Native framework together with Vulkan runtimes.

It is currently considered experimental in Sasogine.

WindowsDX

Sachssoft.Sasogine.WindowsDX uses the classic MonoGame WindowsDX backend.

It targets Windows and DirectX-based rendering.

WindowsDX12

Sachssoft.Sasogine.WindowsDX12 uses MonoGame's Native framework with the DirectX 12 runtime.

It is currently considered experimental in Sasogine.

Native AOT and Trimming

Native AOT and trimming compatibility are important design goals of Sasogine.

The engine favors:

  • Explicit object creation
  • Explicit registries and factories
  • Strongly typed metadata
  • Predictable dependency resolution
  • Minimal reliance on runtime reflection
  • AOT-compatible serialization paths
  • Trimming-compatible APIs

Reflection may be used as an optional fallback in selected APIs when the runtime supports it. Core functionality should not require reflection where an explicit alternative is available.

Runtime capability checks can be used before invoking reflection-dependent functionality.

Development Structure

The main source tree is organized by responsibility:

Projects/
├── Basic/
│   └── Sachssoft.Sasogine.csproj
├── Documents/
│   └── Sachssoft.Sasogine.Documents.csproj
├── Toolkit/
│   └── Sachssoft.Sasogine.Toolkit.csproj
├── UI/
├── Platforms/
│   ├── Windows/
│   ├── Linux/
│   ├── MacOs/
│   ├── Android/
│   └── iOS/
└── Backends/
    ├── DesktopGL/
    ├── DesktopVK/
    ├── WindowsDX/
    └── WindowsDX12/

Shared build and package configuration is maintained in the root-level .props files.

Versioning

Sasogine currently uses prerelease alpha versions.

During the alpha phase:

  • APIs may change without compatibility guarantees.
  • Types may move between namespaces or assemblies.
  • Projects and packages may be reorganized.
  • Experimental backends may be incomplete.

See CHANGELOG.md for release-specific changes.

Issues and Development

Known bugs, planned features and ongoing development are tracked through GitHub Issues:

https://github.com/sachssoft/Sasogine/issues

Bug reports and feature requests can be submitted through the issue tracker.

License

Sasogine is licensed under the MIT License.

See LICENSE.md for details.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  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 (9)

Showing the top 5 NuGet packages that depend on Sachssoft.Sasogine:

Package Downloads
Sachssoft.Sasogine.DesktopGL

Sasogine desktop backend based on MonoGame DesktopGL.

Sachssoft.Sasogine.Documents

Document and serialization support for the Sasogine game engine.

Sachssoft.Sasogine.Toolkit

Reusable components and tools for the Sasogine game engine.

Sachssoft.Sasogine.DesktopVK

Sasogine native desktop backend based on MonoGame DesktopVK.

Sachssoft.Sasogine.WindowsDX

Sasogine Windows backend based on MonoGame WindowsDX.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.11.0-alpha 96 9/30/2026

Sasogine Alpha release.