MIT License NuGet

Home / Docs / Requirements

Requirements and installation

One SDK, one clone, one dotnet run. There is no launcher to install, no editor to register and no asset pipeline to warm up.

What you need

TargetYou need
All targetsThe .NET 10 SDK. Both the engine and the sample projects set LangVersion to preview.
WindowsWindows 10 build 19041 or newer, a Direct3D 12 GPU, and the .NET MAUI / Windows App SDK workload.
LinuxA Vulkan 1.2 driver and the loader (libvulkan1). Plain net10.0 — no MAUI workload needed.
AndroidAPI level 33 or newer with a Vulkan driver, plus the android workload.
iOS / Mac CatalystXcode and the matching .NET workload. The sample apps target 17.0; the engine library itself supports 15.0.
WebA 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.

The engine library is not MAUI

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.

Run the reference application

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
ProjectWhat it is
Apps/EngineThe 3D reference application. Multi-targets Linux, Android, iOS, Mac Catalyst and — on a Windows host — Windows.
Apps/EngineWasmThe same application as a Blazor WebAssembly client (net10.0;net10.0-browser).
Apps/EngineWebThe ASP.NET host that serves the WebAssembly client. This is the one you run.
Samples/CreatorA 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.

Add the engine to your own project

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" />
Prefer the project reference for now

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.