Overlay
The Overlay feature provides access to the Steam Overlay and Steam UI surfaces that can be opened from the game.
It can open standard Steam sections, user dialogs, web pages, chat rooms, and invite dialogs, and it exposes persistent events for Overlay activation and Steam join requests.
Main Capabilities
- Check whether the Steam Overlay is enabled or currently active
- Open standard Overlay sections
- Open a web page inside the Overlay
- Open user-specific dialogs such as profile or chat
- Open a Steam chat room
- Open lobby or connect-string invite dialogs
- Subscribe to Overlay activation events
- Subscribe to Steam join requests
Basic Workflow
For normal Overlay actions:
- Check Is Steam Overlay Enabled if your UI depends on Overlay availability.
- Call the appropriate activation function.
- Steam opens the requested Overlay surface.
For invite or join flows, subscribe to the relevant persistent event and route the received lobby/connect information into your own game flow.
For practical Blueprint workflows, see Examples.
Overlay Sections and User Dialogs
Standard sections use ESteamOverlaySection.
User-specific dialogs use ESteamOverlayUserDialog together with a FSteamUserID.
Join Requests
Steam join requests are represented by FSteamJoinRequest.
A request can contain a lobby ID, a connect string, and the Steam user associated with the request. Subscribe To Steam Join Requested reports a Steam join action on the local receiving player; it does not report that someone joined your hosted game, and it never connects by itself.
For a pre-game lobby, read Request.LobbyID and call Join Steam Lobby. For a custom ConnectString, use your project's own parser and networking flow. For an active managed Multiplayer game, prefer Subscribe To Steam Game Invitation Accepted and then Join Steam Game.
The same Steam request may reach both Overlay and Multiplayer listeners. Handle it in only one place to avoid duplicate joins. See Steam Invitations and Join Requests for complete examples.
Persistent Events
Overlay subscriptions return FSteamOverlayListenerHandle.
Store the handle and unsubscribe when the listener is no longer needed.
Important Notes
- Overlay availability depends on the Steam client and user settings.
- Opening the Overlay does not automatically pause the game unless your project implements that behavior.
- Join requests do not create gameplay connections by themselves.
- Some Overlay behavior is best validated in Standalone or through a packaged Steam build.
Related Documentation
- Examples — common Overlay workflows
- API Reference — complete list of Overlay nodes
- Multiplayer — managed invites and game joining
- Steam Invitations and Join Requests — full invitation and join-request guide