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:
steam.StatusA healthy result looks like this:
--- 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.65Available is the line that matters. If it says no, the Failure line underneath tells you why in plain language.
What the modes mean
| Mode | Meaning |
|---|---|
| Preloaded before RHI | SteamForge started Steam early, before the graphics device. This is the best case and the one where the overlay works. |
| Coexisting | Sharing a session with OnlineSubsystemSteam. Normal when the engine's Steam plugin is enabled. |
| Standalone | SteamForge started Steam itself. Normal when the engine's Steam plugins are off. |
| Mock | Not talking to Steam at all. See below. |
| Not Initialised | Nothing 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:
| Value | Behaviour |
|---|---|
| Editor fallback | Uses 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. |
| Always | Never touches Steam, even in a packaged build. For automated tests and build machines. |
| Disabled | Never 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:
steam.MockUseful console commands
| Command | What it does |
|---|---|
steam.Status | Connection state, App ID, resolved functions |
steam.Doctor | Full diagnostic checklist |
steam.Overlay | Whether the overlay can appear, and why not if it cannot |
steam.Achievements | List every achievement and whether it is unlocked |
steam.Mock | Inspect the mock backend's state |
steam.Missing | Steam functions the loaded library does not export |
Where to go next
Blueprint basics, which covers the three patterns every feature page uses.