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 SteamvXXX
where 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 Steamv146
.
Extract the contents of the archive into the folder you created above. This should leave you with an sdk
folder inside your SteamvXXX
folder.
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 Engine\Binaries\ThirdParty\Steamworks\SteamvXXX\Win64
.
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.dll
and steam_api.lib
files to your Engine’s Engine\Binaries\ThirdParty\Steamworks\SteamvXXX\Win32
.
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 Engine\Binaries\ThirdParty\Steamworks\SteamvXXX\Mac
.
*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.
Steam>
Once at this shell, run the following commands:
login anonymous
app_update 1007
exit
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 Engine\Binaries\ThirdParty\Steamworks\SteamvXXX\Win32
folder.
The files ending in _64
are 64-bit, the others are 32-bit.
Your final 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.