How to Update SteamWorks (UE4)

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:

Steam Cmd
credit – https://allarsblog.com/

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.

Leave a Reply