Ferrite SDK

Build multiplayer games.
No C++ required.

Ferrite SDK is the binary distribution of the Ferrite game engine. Install it from Steam, run setup, and start a project in Schematic visual scripting or C#. The same editor, networking and renderer that power Ferrite’s own games, with no compiler toolchain to set up.

Wishlist on Steam What is included Early Access · release date to be announced
Why the SDK

Everything you need to ship, nothing you need to compile

The SDK is the complete Ferrite toolset as a ready-to-run install, distributed through Steam. It ships prebuilt tools, the engine runtime, compiled shaders for both renderers, the managed host, templates and docs. Projects you make with it are plain folders you can zip, copy and version.

Install in minutes

Install from Steam, run setup once. It registers the engine root, associates .femproj files, puts the tools on your PATH and creates a Ferrite Hub shortcut. Uninstall removes only what it installed.

Two ways to script

Schematic projects need no compiler at all. C# projects need only the .NET 10 SDK from Microsoft. Both can live in the same project and both reach the same engine API.

Package from the editor

Package Project cooks content, stages the runtime and writes a standalone game folder plus an optional zip. Your game ships without a project DLL and without the SDK.

Multiplayer by default

Every project runs on a fixed-tick, server-authoritative simulation. Host or join LAN sessions from your game with prediction and replication handled by the engine.

Relocatable

The SDK carries its own build tool and records every binary with a hash receipt. Move the folder, re-run setup, keep working. Project files never store machine paths.

Readiness page, not guesswork

Ferrite Hub shows detected engine roots, versions, tool and shader status and copyable repair commands. It never runs repairs behind your back.

Schematic

Visual classes with a real type system

Schematic is Ferrite's visual scripting system. Create a Schematic Class from Actor, Pawn, Character, First Person Character, Third Person Character or Game Mode, add components, wire a graph, press Play. Graphs compile to bytecode and run inside the engine's VM.

  • Gameplay presets. The FPS and TPS parents create Camera, Weapon, Health, Interaction, Input Actions, an Input Mapping and a companion Game Mode for you.
  • Checked math and world libraries. Float, integer, vector, rotator, transform and string nodes, line traces, spawn and destroy, health queries and damage events.
  • Input Action events. Bind graph events to input actions and mappings edited in the same window.
  • Runtime errors with source maps. A divide by zero or an invalid range fails the node with a pointer back to the graph instead of corrupting the world.
C#
using Ferrite.Managed;

[FeClass(SchematicType = true, Schematicable = true)]
public sealed class EngineHum : Actor
{
    AudioSample? clip;
    AudioVoice? voice;

    protected override void OnStart()
    {
        var loaded = World.Audio.TryLoad("audio/engine_hum");
        if (!loaded.Succeeded) return;
        clip = loaded.Value;
        var playing = World.Audio.TryPlay2D(clip, new(Loop: true, Gain: .25f));
        if (playing.Succeeded) voice = playing.Value;
    }

    protected override void OnUpdate(double seconds)
    {
        if (voice is not null) _ = voice.SetPitch(1.1f);
    }

    protected override void OnStop()
    {
        voice?.Dispose();
        clip?.Dispose();
    }
}

C# classes marked Schematicable appear in the Schematic parent picker, so designers can extend programmer-written classes in graphs. Press Build C# Classes in the editor, then Play. Actors, Game Modes, UI widgets, audio and LAN sessions are all reachable from managed code.

Tools suite

Scaffold, edit, play, package

Five executables, all prebuilt in Release. Every tool is project-aware and works from a .femproj.

ExecutableRoleWhat it does for you
FerriteHubProject browserCreate projects from templates, open recent ones, choose the registered engine, launch the editor or the game. Hosts the Setup & Readiness page.
FerriteEditorLevel editorNative Level authoring with drag-drop placement and snapping, Schematic Class editor, node-based material editor, Widget editor for UI, content browser with glTF import, world settings, post-process volumes, multi-viewport, embedded Play-In-Editor including multiplayer PIE, and transactional Package Project.
ferriteCommand linenew, generate, build, run, open, package. Script the same workflow from a terminal or CI.
FerriteCookerAsset cookerCooks content for production and writes a PackageReceipt.json with every staged file.
FerriteLauncherGame launcherThe executable your packaged game runs as. Loads the engine runtime, your cooked content and your managed assemblies.
Step 1
Create
Pick a template in Hub. Choose Schematic or C# + Schematic.
Step 2
Author
Build Levels, Schematic Classes, materials and widgets in the editor.
Step 3
Script
Wire graphs, or write C# and press Build C# Classes.
Step 4
Play
Test in the editor, solo or with multiple PIE clients on a LAN session.
Step 5
Package
Export a standalone build and archive for your platform. Nothing links back to the SDK.
Templates

Start from a playable game, not a blank window

All five templates are pure Schematic or C# + Schematic projects. They open, play and package out of the box.

Schematic

EmptySchematic

A Level, a Player Start and a Game Mode. The smallest possible project for learning the editor.

C# + Schematic

EmptyCSharp

The same skeleton with a managed project already generated and a C# GameMode to extend.

Schematic

CrabBeachFPS

First person character with camera, weapon, health and interaction components on a beach level.

Schematic

CrabBeachTPS

Third person variant with a spring arm camera and the same gameplay components.

Hub

Your projects

Hub lists your recent projects alongside the templates. Projects are plain folders, so they version cleanly in git.

The engine underneath

Production renderer, production netcode

The SDK ships the production engine runtime as prebuilt binaries. You get the renderer, physics, audio and networking that the engine's own games are built on.

cascaded shadow mapscontact shadows + PCSSHi-Z occlusionGTAOscreen-space reflectionsbaked lightmap + probe GIphysical sky + cloudsHDR outputtexture streamingmaterial graphsparticlesdecalspost-process volumescubemap actorsJolt physicsSteam Audio
  • Three render backends. DirectX 12 on Windows, Vulkan on Windows and Linux, Metal on macOS. Shaders are authored in Slang and ship precompiled for every backend.
  • Render thread by default. Simulation produces an immutable snapshot each frame and the renderer consumes it on its own thread.
  • Fixed-tick simulation. A step accumulator advances the world at a fixed rate, so gameplay is deterministic and network-friendly.
  • Server authority. Clients predict movement and the server reconciles. Replicated objects have stable identity across sessions and recycled slots.
  • Async loading. Map loads run off the main thread behind a loading screen.
Rendering

A modern renderer, driven by project data

Every setting below is a project or level value you can edit in the editor, not a constant in native code. Each feature has a path for the lowest quality tier.

Lighting

Baked and dynamic light

Bake lightmaps and light probe volumes in the editor, blend GI sets at runtime, and light moving objects from probes. Pick a lighting mode per project or per level: Static, Time of Day or Runtime.

Sky

Physical sky and clouds

A time-of-day atmosphere profile drives the sun, sky, fog, exposure and clouds from one lookup, so lighting always matches what you see. Height fog is lit by the sky.

Shadows

Sun, local and contact

Cascaded sun shadows with a static cache, PCSS on Ultra, a far cascade, contact shadows, and shadows for spot and point lights. Sphere and tube lights are supported.

Screen space

GTAO and reflections

Ground-truth ambient occlusion with bent normals and temporal accumulation, plus Hi-Z screen-space reflections blended with cubemap captures and the sky.

Display

Exposure, tonemapping, HDR

Histogram auto exposure in EV100 with metering and per-volume control, selectable display transform, grading LUTs, and HDR10 output on desktop.

Scalability

Five quality tiers

Mobile, Low, Medium, High and Ultra select shader permutations and budgets, from phones up to desktop. Set the default in the project and change it at runtime with r_quality_tier.

Memory

Texture streaming

Textures stream by wanted mip against a real video-memory budget, with per-asset cook settings and per-platform formats. Tune it in the editor's graphics settings.

Backends

One feature set, three APIs

Features land on DirectX 12 and Vulkan first, with parity checked by tests that render on the real backends. Metal follows and is being verified on macOS.

Steam Early Access

Coming soon. No date yet.

Ferrite SDK will launch on Steam in Early Access. Updates, templates and documentation will ship through Steam as the engine evolves. Follow the store page to get notified the day it goes live.

Wishlist on Steam Store page link coming with the announcement
In the box

What the install contains

The SDK is built from an explicit allowlist. Every binary is recorded with a SHA-256 receipt, and every third-party notice is included. It contains no engine source, headers, libraries or debug symbols.

Ferrite SDK/ ├─ install · uninstall setup, receipt-based removal ├─ LICENSE commercial licence, full terms ├─ bin/ per platform and architecture │ ├─ FerriteHub · FerriteEditor · ferrite │ ├─ FerriteCooker · FerriteLauncher │ ├─ FerriteEngineRuntime │ └─ SDL3 · Steam Audio · shader compiler libraries ├─ shaders/compiled/ dx12/ · vulkan/ · metal/ ├─ templates/ EmptySchematic · EmptyCSharp · CrabBeachFPS · CrabBeachTPS · Plugins/ ├─ Plugins/ FerritePhysicalAnimation · FerriteMcp MCP server for AI clients, off by default ├─ tools/mcp/ MCP client header scripts ├─ SDK/ │ ├─ Managed/ Ferrite.ManagedHost, Ferrite.Editor, abstractions, nethost │ ├─ Tools/sighmake bundled project generator and build tool │ ├─ Resources/Fonts/ │ └─ Docs/ widget editor, fonts, packaging, LAN sessions, C# audio, editor plugins, MCP └─ Licenses/ every vendored third-party notice
What the SDK covers
Ferrite SDK
Schematic projectsYes
C# projectsYes
Editor, Hub, CLI, CookerYes
AI Tools panel: one-click MCP setup for Claude Code, Codex, OpenCodeYes
Package to standalone buildYes
DX12, Vulkan and MetalYes
Windows, macOS, Linux · x64 and ARM64Yes
Prebuilt engine runtimeYes
Third-party licence noticesYes
Needs a C++ toolchainNo
Needs engine sourceNo

Ferrite ships only as this SDK. The engine runtime is prebuilt and closed; all gameplay is written in Schematic or C# against the documented API, and everything a finished game needs is in the box.

Get started

Up and running in four steps

Windows, macOS or Linux on an x64 or ARM64 machine with a DirectX 12, Vulkan or Metal capable GPU. C# projects also need the .NET 10 SDK.

Install

# 1. install Ferrite SDK from your Steam library

# 2. run setup once from the install folder
...\steamapps\common\Ferrite SDK\install

# 3. (C# only) install the .NET 10 SDK from Microsoft

# 4. open Ferrite Hub and create a project

Setup registers the Steam install folder as your engine root. Steam keeps the tools, runtime and templates up to date.

Or from the command line

ferrite new MyGame --template CrabBeachFPS --path D:\Projects
ferrite open     D:\Projects\MyGame\MyGame.femproj

# in the editor: edit, press Play, then Package Project.
# output lands in Saved/StagedBuilds/<Platform>/Release/MyGame/
# with the game executable, cooked content and an archive

ferrite package  D:\Projects\MyGame\MyGame.femproj

Packaging is transactional. A failed cook, copy or validation step leaves your previous build untouched.