Getting Started
Like what you're seeing?
Support us as a GitHub Sponsor and get instant access to all our assets, exclusive tools and assets, escalated support and issue tracking and our gratitude. These articles are made possible by our GitHub Sponsors ... become a sponsor today!
Be sure to read the Installation article, it contains information on initial engine and project configuration that will prevent most "getting started" issues.
Import the Toolkit for Steamworks plugin to your project. Whether you purchased the plugin from Unreal Marketplace or are a GitHub Sponsor you will need access to the Toolkit for Steamworks plugin to get started using it.
The plugin is not free and is only available from Heathen via the GitHub Sponsor program, Patreon and on the Unreal Marketplace. If you acquired the plugin anywhere else we suggest you remove it immediately as it's not a legit copy and likely contains malware.
Configuration
Toolkit for Steamworks works with Steamworks SDK and is compatible with all of Unreal's built-in Steam-related plugins. It uses the same configuration features to keep things simple. This means even if you are not using OnlineSubsystemSteam you will be using its Engine.ini settings to configure and control Toolkit for Steamworks.
App ID
In development, the OnlineSubsystemSteam SteamDevAppId value is used
To define UE_PROJECT_STEAMSHIPPINGID
we use the game's Target.cs, an example from one of our projects follows.
The following is just an example you would use your own settings and the name of your constructor would of course be different. The point is to show you a working example in the Target.cs of your app.
Steam Sockets
You do not have to use Online Subsystem Steam in order to do Steam Networking multiplayer. You will need to include and configure the plugin as that is how the Third Party Steam Shared plugin gets its config. You do not have to use Sessions or Advanced Sessions to work with it either, our tools enable you to use Steam Lobby and other standard Steamworks features as intended by Valve without the confines of Epic's Online Subsystem You can of course if you so wish, use Epic's Online Subsystem concept with Steam ... all options are supported.
We leverage the built-in Steam Socket Net Driver which has a dependency on the Online Subsystem Steam plugin. When you enable Steam Sockets plugin (not just Online Subsystem Steam) the related dependencies should also be enabled and will require a restart of the engine.
Once enabled the following ini settings become relevant ... learn more in Unreal's official documentation