Ali Şahan Yalçın
DocsJoining a lobby

Lobbies

Joining a lobby

Join a lobby you found, or one you were invited to.

The node

Use Join Lobby (Async) with a Steam Lobby Id.

OutputMeaning
On SuccessYou are in the lobby
On FailureYou are not. Read the Result.
LobbyThe lobby you joined
ResultSuccess, or why not

You can get a lobby ID from a search result, from an invite, or from a lobby ID you stored earlier.

Why a join fails

The Result explanation tells the player something useful. Each of these needs a different response from them, which is why they are worth handling separately:

ReasonWhat to tell the player
Lobby no longer existsThe host closed it. Refresh the list.
Lobby is fullTry another one.
Not allowedIt is private or friends only.
Banned from the lobbyNothing they can do.
Someone blocked youOne of you has the other blocked on Steam.
Limited accountSteam requires a purchase before an account can use matchmaking.
INFO: If you want these as separate, branchable values rather than a sentence, use Join Session from the Sessions layer, which reports a structured failure reason plus a message ready to show a player.

After joining

Once you are in:

  • Get Lobby Members gives you everyone inside. See Lobby players.
  • Get Lobby Data reads what the host published.
  • On Lobby Member Changed fires when anyone else joins or leaves.
  • Handling invites

    A player can accept an invite from the Steam overlay or their friends list. When they do, Steam does not join anything. It asks your game to.

    Bind On Lobby Join Requested on the SteamForge Lobbies subsystem:

    OutputMeaning
    LobbyThe lobby to join
    FriendWho invited them, when known

    Respond by calling Join Lobby (Async) with that lobby ID.

    WARNING: Not handling this event is the single most common reason Steam invites appear to do nothing. The invite worked, Steam told your game, and the game ignored it.

    This event also fires when the invite launched the game from cold. SteamForge reads the invite off the launch command line and reports it through the same event, so one binding covers both cases. In the cold launch case the Friend output is empty, because Steam does not provide it.

    Where to go next

    Lobby players, to show who is in the room.