MainframeEngine 1.1.1
dotnet add package MainframeEngine --version 1.1.1
NuGet\Install-Package MainframeEngine -Version 1.1.1
<PackageReference Include="MainframeEngine" Version="1.1.1" />
<PackageVersion Include="MainframeEngine" Version="1.1.1" />
<PackageReference Include="MainframeEngine" />
paket add MainframeEngine --version 1.1.1
#r "nuget: MainframeEngine, 1.1.1"
#:package MainframeEngine@1.1.1
#addin nuget:?package=MainframeEngine&version=1.1.1
#tool nuget:?package=MainframeEngine&version=1.1.1
Mainframe Engine
A modular C# game engine on Vulkan: a Godot-style scene tree with source-generated serialization, PBR materials, cascaded shadows, RmlUi game UI, Jitter2/Box2D physics, SoundFlow audio, multiplayer, gettext localization and Spine animation.
This package is everything a game needs to build and run, with no engine checkout and no editor required:
MainframeEngine.dll(and the bundledspine-csharp.dll)- the source generator for
[Export],[Signal],[Replicated]and[Rpc]members - the native libraries for
win-x64,linux-x64andosx-arm64/osx-x64 - the engine content (compiled shaders, UI widgets, fonts), which is copied into your app's
Content/folder - build integration:
.po→.molocalization, theDEMOdefine fromproject.mfproj, and macOS development app bundles
Requirements: .NET 10, plus a GPU with Vulkan 1.2 (MoltenVK is included on macOS).
Start a game
The quickest way is the mfgame template from the engine repository, or New Project in the optional Mainframe
Editor. Both create a game library, a desktop project and project.mfproj that reference this package.
To add the engine to an existing project:
dotnet add package MainframeEngine
using MainframeEngine;
// Reads project.mfproj next to the app (window, input map, autoloads, main scene) and runs it.
return GameHost.Run(args, typeof(MyNode).Assembly);
Copy project.mfproj and your Content/ to the output folder, as the template's desktop project does.
Links
- Documentation
- Source, editor downloads and releases
- MIT licence
| 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
- Box2D.NET (>= 3.1.654)
- ENet-CSharp (>= 2.4.8)
- GetText.NET (= 10.0.1)
- Jitter2 (>= 2.9.0)
- NVorbis (= 0.10.5)
- Silk.NET.Assimp (>= 2.23.0)
- Silk.NET.Input.Sdl (>= 2.23.0)
- Silk.NET.MoltenVK.Native (>= 2.23.0)
- Silk.NET.Vulkan (>= 2.23.0)
- Silk.NET.Vulkan.Extensions.EXT (>= 2.23.0)
- Silk.NET.Vulkan.Extensions.KHR (>= 2.23.0)
- Silk.NET.Windowing.Sdl (>= 2.23.0)
- SoundFlow (= 1.4.1)
- StbImageSharp (>= 2.30.16)
- Steamworks.NET (>= 2024.8.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.1.1 | 86 | 10/12/2026 |