Ali Şahan Yalçın
DocsFirst steps

Get started

First steps

Confirm Steam is connected, and how to work when it is not.

Before building anything on top of SteamForge, confirm it is actually talking to Steam. Almost every support question turns out to be a setup problem that this page would have caught.

Check the connection

Press Play, open the console with the tilde key, and run:

code
1
steam.Status

A healthy result looks like this:

code
1
2
3
4
5
6
7
--- SteamForge status ---
  Available        : yes
  Mode             : Preloaded before RHI
  App ID           : 480
  Steam library    : steam_api64.dll
  Entry points     : 1009 / 1009 resolved
  Bindings built   : SDK 1.65

Available is the line that matters. If it says no, the Failure line underneath tells you why in plain language.

What the modes mean

ModeMeaning
Preloaded before RHISteamForge started Steam early, before the graphics device. This is the best case and the one where the overlay works.
CoexistingSharing a session with OnlineSubsystemSteam. Normal when the engine's Steam plugin is enabled.
StandaloneSteamForge started Steam itself. Normal when the engine's Steam plugins are off.
MockNot talking to Steam at all. See below.
Not InitialisedNothing connected. Read the Failure line.

The Steam Doctor

For a fuller picture, use Tools > Steam Doctor in the editor, or run steam.Doctor in the console.

It runs a set of checks, worst first, each with a plain language explanation and a fix button where there is an obvious fix. It catches the App ID being unset, steam_appid.txt being wrong, the engine and SteamForge disagreeing about your App ID, and more.

Testing without Steam

You do not need Steam running to work on Steam features.

Set Mock Mode in Project Settings > Plugins > SteamForge:

ValueBehaviour
Editor fallbackUses the mock only in the editor, and only when real Steam could not be reached. Packaged builds always use real Steam. This is the default and the right choice for most projects.
AlwaysNever touches Steam, even in a packaged build. For automated tests and build machines.
DisabledNever uses the mock. Steam features are simply unavailable when Steam is not running.

The mock implements achievements, stats, leaderboards and lobbies. Progress persists to Saved/SteamForge/MockState.json, so it survives restarting the editor the way real Steam progress would.

Inspect it any time with:

code
1
steam.Mock
INFO: Mock Mode is also how you test multiplayer lobbies locally. Two Play In Editor clients share one Steam account, so against real Steam the second player joining is really the host joining their own lobby. The mock gives each client its own identity, which makes local lobby testing actually work.

Useful console commands

CommandWhat it does
steam.StatusConnection state, App ID, resolved functions
steam.DoctorFull diagnostic checklist
steam.OverlayWhether the overlay can appear, and why not if it cannot
steam.AchievementsList every achievement and whether it is unlocked
steam.MockInspect the mock backend's state
steam.MissingSteam functions the loaded library does not export

Where to go next

Blueprint basics, which covers the three patterns every feature page uses.