One SDK, one clone, one dotnet run. There is no launcher to
install, no editor to register and no asset pipeline to warm up.
| Target | You need |
|---|---|
| All targets | The .NET 10 SDK. Both the engine and the sample projects set LangVersion to preview. |
| Windows | Windows 10 build 19041 or newer, a Direct3D 12 GPU, and the .NET MAUI / Windows App SDK workload. |
| Linux | A Vulkan 1.2 driver and the loader (libvulkan1). Plain net10.0 — no MAUI workload needed. |
| Android | API level 33 or newer with a Vulkan driver, plus the android workload. |
| iOS / Mac Catalyst | Xcode and the matching .NET workload. The sample apps target 17.0; the engine library itself supports 15.0. |
| Web | A browser with WebGPU enabled, plus the wasm-tools workload. |
Desktop and mobile share one project file because the application projects are MAUI
single-projects (UseMaui plus
SingleProject). Only the entry point differs per platform, and
each one is a handful of lines — see
platform entry points.
Season.csproj sets
UseMaui only for the mobile and Windows target frameworks.
The Linux target is plain net10.0 and the web target is
net10.0-browser; neither pulls MAUI in. MAUI is used as a
packaging and lifecycle host on the platforms that need one, not as a UI framework
— the engine draws every pixel itself.
The fastest way to confirm your machine is ready is to run the application that exercises every subsystem at once.
git clone https://github.com/SeasonRealms/SeasonEngine.git
cd SeasonEngine
# Windows, Direct3D 12
dotnet run --project Apps/Engine/Engine.csproj -f net10.0-windows10.0.19041.0
# Linux, Vulkan
dotnet run --project Apps/Engine/Engine.csproj -f net10.0
# Web, WebGPU - the ASP.NET host serves the Blazor WebAssembly client
dotnet run --project Apps/EngineWeb/EngineWeb.csproj
| Project | What it is |
|---|---|
Apps/Engine | The 3D reference application. Multi-targets Linux, Android, iOS, Mac Catalyst and — on a Windows host — Windows. |
Apps/EngineWasm | The same application as a Blazor WebAssembly client (net10.0;net10.0-browser). |
Apps/EngineWeb | The ASP.NET host that serves the WebAssembly client. This is the one you run. |
Samples/Creator | A 2D application on the same controls, with the same three-project shape (Creator, CreatorWasm, CreatorWeb). |
Samples/Creator is the lighter one: no 3D scene in the way, so
the panel and layout model is easier to see. On Windows you can also install the
Microsoft Store build and skip
the toolchain entirely — see download.
The package is on NuGet, MIT licensed:
dotnet add package SeasonEngine
Or reference the engine project from a clone, which is what every sample in the repository does:
<ProjectReference Include="..\..\Season\Season.csproj" />
The package version is still in the 0.x range and the API is still moving. A project reference costs you one line and buys you the ability to read the implementation of anything that surprises you. The XML documentation on the engine types is unusually detailed — it records why a decision was made, not just what a member does — and several of the sharper explanations on this site are lifted straight from it.
Your project needs the same multi-targeting shape as the samples. Rather than assembling it
from scratch, copy Samples/Creator/Creator.csproj: it is the
smallest complete multi-target project file in the repository, and it already contains the
asset item groups and the Linux include/exclude targets described in
project layout.