# Online Subsystem

## Introduction

Online Subsystem and the Steam variant Online Subsystem Steam are fully compatible with Heathen's Toolkit for Steamworks SDK, however in general we do not recommend you use them as they greatly limit some of the most valuable features of the Steamworks SDK and the Steam platform as a whole.

In order to use Steam Networking Sockets you will find it necessary to install Online Subsystem Steam as it is a technical requirement for the Steam Sockets plugin. You don't have to use its features for matchmaking, session discovery or management and in general wont want to.

## [Steam Lobby](/old-kb/steam/multiplayer/matchmaking-tools.md)

So much more than just matchmaking, never the less it is an industry-leading tool for matchmaking. We have extensive documentation on the features of Steam Lobby and many tools to help you easily and efficiently make the most of it.

## [Steam Game Server](/old-kb/steam/multiplayer/game-server-browser.md)

Dedicated servers initialize the Steam API similar to your client build, they do so as a Steam Game Server which lets them avail of Steam ID addressing for multiplayer, [Steam Game Server Browser](/old-kb/steam/multiplayer/game-server-browser/server-browser.md) for matchmaking and discovery as well as leverage other core features of Steam such as [Authentication](/old-kb/steam/multiplayer/authentication.md).

## [Remote Play](/old-kb/steam/remote-play.md)

Put simply, it lets your local multiplayer game be an online multiplayer game with no additional work from you.

## [Rich Presence](/old-kb/steam/multiplayer/rich-presence.md)

Steam is much more than just multiplayer tools, its also one of the first social networks and its rich presence leverages those features exposing invite features, join functions and rich details that can help your players find, join and entice friends to paly more!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kb.heathen.group/old-kb/old-toolkit-for-steamworks/unreal/online-subsystem.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
