Updating Steamworks SDK
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!
Introduction
This article will help you update the built-in Steamworks SDK version and highlight all the requirements. This assumes you are building the engine from the source as the note above indicates.
Do I need to update?
In most cases, no
Valve's Steamworks SDK doesn't stop working just because there is a new version, for obvious reasons, the main one being that it would cause every prior game to break. Most of the time when Valve makes a change to Steamworks APIs it is on the back end and doesn't impact the SDK. There are a few occasions where they have updated the SDK its self but in most of those, its adds quality-of-life features like the steam_flat structure which simply makes including steam in your source easier in particularly for non-C-based projects.
There are a few points where Valve will add features such as May 2023 when they added identity to the Steam Authentication system. This change doesn't invalidate prior versions so you can keep using whatever version prior to that without issue however if you want to leverage the new identity field you will need to update your built version of Steamworks SDK
Source Access
Because we will be making a change to the Unreal Engine its self we do need the ability to rebuild it. To do this you will need GitHub access to Unreals source. You cannot rebuild the engine from the Launch Download version, even if you have the Source at least not at the time of this writing.
To get source access to Unreal Engine code follow the instructions documented here.
Once that is complete you will need to clone a copy of the code, we recommend you make a fork and name it for the version of the engine and for whatever change you are doing for example.
UnrealEngine-5.3-Steamworks-1.59
The Unreal Engine's source is huge and will take a very long time to clone compared to most repositories you have likely worked with.
Steamworks Version
Make sure you have your Developer account as you will need that first ... we have an article on getting started here.
Once you have that download the desired version of Steamworks SDK
Modify the Engine
Next, we need to update the Steamworks ThirdPartyPlugin to use the newly downloaded version. There are instructions for that here.
In short, you're going to copy the sdk/public
and sdk/redistributable_bin
folders into a folder named for the SDK version
Next you will need to update the steamworks.build.cs to reference the new version
You have 1 more spot to update in Heathen's Toolkit for Steamworks. Find our plugin and modify its ToolkitSteamworks.Build.cs for the specific version you're using.
We use these defines to add and remove code at compile time enabling our plugin to work with any version of Steamworks from a single codebase. If a new version comes out that is not supported simply let us know in Discord or via a GitHub Issue and we will get that patched.
Recompile and everything should now be working on the version of Steamworks SDK you chose.
Last updated