Ferrite SDK
Coming soon to Steam Early Access · Windows · macOS · Linux

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 as the full engine, with no engine source and 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 a curated cut of the full engine, 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;

[UClass(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.

C# + Schematic · multiplayer

ZombieWavesFPS

Wave survival with bots, buy stations, score and LAN sessions. A complete reference for a networked game.

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 runs the same FerriteEngineRuntime.dll as the full engine. You get the renderer, physics, audio and networking that the engine's own games are built on.

cascaded shadow mapsHi-Z occlusionHDR bloom + tonemapambient occlusionmaterial 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.
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 ├─ 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 · ZombieWavesFPS ├─ SDK/ │ ├─ Managed/ Ferrite.ManagedHost, abstractions, nethost │ ├─ Tools/sighmake bundled project generator and build tool │ ├─ Resources/Fonts/ │ └─ Docs/ widget editor, fonts, packaging, LAN sessions, C# audio └─ Licenses/ every vendored third-party notice
SDK vs. full engine
SDKFull
Schematic projectsYesYes
C# projectsYesYes
Editor, Hub, CLI, CookerYesYes
Package to standalone buildYesYes
DX12, Vulkan and MetalYesYes
Windows, macOS, Linux · x64 and ARM64YesYes
Native C++ game modulesNoYes
Engine source and headersNoYes
Editor plugins (.femplugin)NoYes
Needs a C++ toolchainNoYes

The full engine with C++ access is a separate, private distribution. Projects made with the SDK open unchanged in it.

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.