After personally searching around the web for ages and having no luck on how to do this after version 139, I decided to write a tut of my own. This does not work with versions of UE4 from the launcher. It has to be a source build.
If you are working with older versions of SteamWorks or Unreal Engine 4 I suggest using this tut instead. I’ve done a bit of cut and paste for some of these steps from there. https://allarsblog.com/2016/02/29/updatingsteamsdk/
Allar did a great job and is usually where people get pointed for this sort of thing.
In my case, I was working with unreal engine 4.23 and I wanted SteamWorks version 146. In UE4 4.23, version 142 of SteamWorks is included, but it was missing some new features that I really wanted. Additionally, I found that version 147 was released, but I could not get it to compile correctly. I’ll update this article once I figure that out.
Step 1 – Download SteamWorks
go to this link here and grab the version you are looking for. https://partner.steamgames.com/downloads/list In my case I grabbed version 146.
Step 2 – Extract SteamWorks
Create a folder in this
Engine\Source\ThirdParty\Steamworks folder named
XXX is the version you are updating to without the
. punctuation mark. Be sure to include any letter suffixes. For example, when installing version v1.46, the folder you would create would be named
Extract the contents of the archive into the folder you created above. This should leave you with an
sdk folder inside your
Step 3 – Updating Steamworks Binaries
Create a new folder in
Engine\Binaries\ThirdParty\Steamworks named the same as you did in the previous steps, for example,
Steamv146. Inside that folder, create the following folders.
SDK Supplied Binaries
For Windows 64-bit binaries, navigate to the folder
sdk\redistributable_bin\win64\ inside the Steamworks SDK version that you downloaded and copy all the files within to your Engine’s
For Windows 32-bit binaries, navigate to the folder
sdk\redistributable_bin\ inside the Steamworks SDK version that you downloaded and copy the
steam_api.lib files to your Engine’s
For Mac binaries, navigate to the folder
sdk\redistributable_bin\osx inside the Steamworks SDK version that you downloaded and copy the
libstream_api.dylib file to your Engine’s
*Not sure about linux yet* It’s the same process, but honestly I don’t know what that folder at the top is for. I’ll update this later.
Windows Server Redistributable Binaries
You will need to grab the Steamworks SDK Redistributables as well using the SteamCMD tool and place these binaries in the folders we created. Grabbing these redistributables requires the use of the SteamCMD tool. If you don’t do this step, the Unreal Cooker will fail when trying to cook your projects.
Download the SteamCmd tool from Valve’s CDN and extract it to an easy to get to folder, such as a folder named
steamcmd on your desktop. I put mine in a folder in my documents.
Once extracted, you can either run the program with a command prompt or simply click on it.
SteamCMD will automatically update and install itself. After it is done installing, you should be left with the Steam shell.
Once at this shell, run the following commands:
This will cause SteamCMD to download the Steamworks SDK Redistributables. Once this is done, you can close the command prompt. The process should look something like this:
Once that is done, navigate to the
steamapps\common\Steamworks SDK Redist\ folder inside the
steamcmd folder you created. In this folder you will see a few files. These are the Steamworks SDK Redistributable files you will need to copy into your engine build.
Similar to above, copy the 64-bit binaries into your Engine’s
Engine\Binaries\ThirdParty\Steamworks\SteamvXXX\Win64 folder and copy the 32-bit binaries into your Engine’s
The files ending in
_64 are 64-bit, the others are 32-bit.
Engine\Binaries\ThirdParty\Steamworks\SteamvXXX Windows platform folders should look something like:
Part 4 -Update UE4’s Steamworks SDK References
Now, onto the part that ended up being a lot different. The steps above were more or less the same from allar’s blog however, since that time of that post the places where the references to the steam sdk are held have changed.