MIT License NuGet

Home / Download

Get SeasonEngine

Three ways in: install the library into your own project, clone the repository and read it, or install the packaged reference application from the Microsoft Store and look before you commit to anything.

The library

The engine is one package, SeasonEngine, currently at version 0.2.0.

dotnet add package SeasonEngine

Or reference the project directly, which is the better option while the version number still starts with a zero:

<ProjectReference Include="..\Season\Season.csproj" />
Prefer the project reference for now

At 0.2.0 the API still moves between releases, and a project reference means you can step into engine code with a debugger, read the comment that explains a value, and patch it locally without waiting for a package. The package exists for when that stops being the sensible default.

The source

git clone https://github.com/SeasonRealms/SeasonEngine
cd SeasonEngine

# The 2D sample builds from a fresh clone.
dotnet run --project Samples/Creator -f net10.0-windows10.0.19041.0

Season.slnx opens the whole thing. What to look at first depends on what you are deciding:

If you want to judgeRead
The rendererSeason/Rendering/RenderPass.cs for the frame, then Effects/ for the compute passes.
The API you will write againstSeason/Controls/ — sixteen classes, and Control.cs defines the update contract.
Cross-platform structureSeason/Basic/DeviceServices.cs, then one directory under Season/Platforms/.
What an application looks likeSamples/Creator/App.cs for 2D, Apps/Engine/App.cs for 3D.
Apps/Engine does not build from a clean clone

It carries an unconditional project reference to the AI project, which lives outside this repository. Samples/Creator has no external dependency and is the one to run first. The details are on the reference application page.

The packaged application

The reference application is on the Microsoft Store as a demo build. It is the fastest way to see whether the renderer looks the way you want before you install an SDK.

Microsoft Store Windows Planned Planned

The Windows build is MSIX, self-contained, and ships its own Windows App SDK, so it needs no runtime installed and is correspondingly large. iOS and Android builds exist as target frameworks but are not published to their stores.

Per-platform notes

PlatformTarget frameworkWhat you need
Windows net10.0-windows10.0.19041.0 .NET 10 SDK and the Windows App SDK workload. A GPU with Direct3D 12. Only appears as a target framework when building on Windows.
Linux net10.0 .NET 10 SDK, Vulkan drivers and GTK 3 for windowing. The plain net10.0 target is the Linux one.
Android net10.0-android The .NET Android workload; API 33 or later; a device or emulator with Vulkan.
iOS net10.0-ios A Mac with Xcode and the .NET iOS workload. iOS 17 or later for the reference application.
macOS net10.0-maccatalyst The Mac Catalyst workload. Metal.
Browser net10.0-browser A WebGPU-capable browser. Runs as a Blazor WebAssembly client served by an ASP.NET host — three projects rather than one.

The full version and workload detail is on Requirements and installation, and the honest state of each backend is on Cross-platform isolation. Runtime support depends on drivers and platform SDKs as much as on the target you pick.

A minimal application, in full

This is the whole of a working program. There is no project template to generate and nothing else to configure.

using System.Numerics;
using Season.Basic;

public sealed class MyApp : BaseApp
{
    public MyApp()
    {
        Title = "My Season App";
        DesignResolution = new Vector2(1280, 720);
        BasicResolution = new Vector2(1280, 720);
        BackgroundColor = Colors.White;
    }

    public override void Create()
    {
        base.Create();
    }
}

// Entry point, on Windows:
Season.Platforms.Windows.WindowsApp.Run(new MyApp());

Where to go next: Getting started takes this to a lit 3D scene over thirteen pages, and Applications and panels is the one that explains what Create and Update are for.