Installation
Prerequisites
Before installing Softfire you need the following tools on your development machine.
- .NET 8 SDK (8.0.x) — dotnet.microsoft.com
- MonoGame 3.8.1 — install the MonoGame Visual Studio extension or the dotnet templates package:
dotnet new install MonoGame.Templates.CSharp - Visual Studio 2022 (17.8 or later) with the .NET desktop development workload, or JetBrains Rider 2024.1 or later
- Git for source control
NuGet packages
Softfire ships as a set of NuGet packages. Add the packages you need to your .csproj:
| Package | Purpose |
|---|---|
Softfire.MonoGame.Engine.Core | ECS runtime, game loop, content pipeline |
Softfire.MonoGame.Engine.Input | InputAction abstraction, remapping, virtual controls |
Softfire.MonoGame.Engine.Audio | AudioSource, spatial audio, adaptive music |
Softfire.MonoGame.Engine.Save | Save slots, cloud sync, corruption recovery |
Softfire.MonoGame.Engine.Worldweave | Worldweave client SDK (identity, Living World, Echo) |
Softfire.MonoGame.Engine.Scripting | Lua scripting runtime (MoonSharp sandbox) |
A typical game project references Core, Input, Audio, and Save at minimum. Add Worldweave when you are ready to connect to the platform.
<ItemGroup> <PackageReference Include="Softfire.MonoGame.Engine.Core" Version="1.*" /> <PackageReference Include="Softfire.MonoGame.Engine.Input" Version="1.*" /> <PackageReference Include="Softfire.MonoGame.Engine.Audio" Version="1.*" /> <PackageReference Include="Softfire.MonoGame.Engine.Save" Version="1.*" /></ItemGroup>Solution structure
A standard Softfire solution looks like this:
MyGame.sln├── MyGame/ # Your game project│ ├── Content/ # MGCB assets (.mgcb pipeline file)│ ├── Entities/ # Entity and component definitions│ ├── Systems/ # Game-specific ECS systems│ ├── MyGame.csproj│ └── Program.cs├── MyGame.Test/ # Unit and integration tests│ └── MyGame.Test.csproj└── .config/ └── dotnet-tools.json # MGCB editor tool referenceThe editor is a separate application (Softfire.MonoGame.Engine.Tools.Editor) that opens your solution and game project. You do not add the editor to your game’s solution — it runs standalone against your project directory.
Building for the first time
# Restore tools (MGCB editor, etc.)dotnet tool restore
# Restore packagesdotnet restore
# Builddotnet build
# Rundotnet run --project MyGameIf you are using Visual Studio, opening the .sln and pressing F5 is sufficient after package restore completes.
The editor
Download the Softfire Editor installer from softfire.dev/editor. It installs as a standalone desktop application. On first launch, point it at your game solution root directory — it will detect your .csproj files and set up the project browser automatically.
The editor project name in source is Softfire.MonoGame.Engine.Tools.Editor. If you are building from source, this project must be run separately from your game project; they communicate over a local IPC channel while play-mode is active.
Connecting to Worldweave
The Worldweave client is opt-in. When you are ready to add platform features, follow the Worldweave developer setup guide.