Skip to content

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:

PackagePurpose
Softfire.MonoGame.Engine.CoreECS runtime, game loop, content pipeline
Softfire.MonoGame.Engine.InputInputAction abstraction, remapping, virtual controls
Softfire.MonoGame.Engine.AudioAudioSource, spatial audio, adaptive music
Softfire.MonoGame.Engine.SaveSave slots, cloud sync, corruption recovery
Softfire.MonoGame.Engine.WorldweaveWorldweave client SDK (identity, Living World, Echo)
Softfire.MonoGame.Engine.ScriptingLua 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 reference

The 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

Terminal window
# Restore tools (MGCB editor, etc.)
dotnet tool restore
# Restore packages
dotnet restore
# Build
dotnet build
# Run
dotnet run --project MyGame

If 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.