Failing to package when updating to Steamworks 1.37

Hey Everyone!

I’m trying to update my steamworks version to 1.37 (from the packaged 1.32)

I followed this guide:

I copied the SDK to the right place, the DLLs to the right place, and updated the references in all of the source files (except for Engine\Source\Programs\UnrealBuildTool\Configuration\UEBuildConfiguration.cs because it doesn’t exist)

And when I go to build, I get these log errors (NOTE - it builds fine when I reset the references to Steamv132)

Any idea what’s going on?

    UATHelper: Packaging (Windows (64-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam-Win64-Shipping.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp_SteamUser referenced in function "public: __cdecl FOnlineFriendsSteam::FOnlineFriendsSteam(class FOnlineSubs
    UATHelper: Packaging (Windows (64-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam-Win64-Shipping.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp_SteamFriends referenced in function "public: __cdecl FOnlineFriendsSteam::FOnlineFriendsSteam(class FOnlineS
    UATHelper: Packaging (Windows (64-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam-Win64-Shipping.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp_SteamUtils referenced in function "public: bool __cdecl FOnlineSubsystemSteam::InitSteamworksClient(bool,int)" (?InitSteamworksClient@FOnlineSubsystemSteam@@QEAA_N_NH@Z)
    UATHelper: Packaging (Windows (64-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam-Win64-Shipping.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp_SteamMatchmaking referenced in function "public: __cdecl FOnlineAsyncTaskSteamFindLobbies::FOnlineAsyncTaskSteamFindLobbies(class FOnlineSubsystemSteam *,class TSharedPtr<
    UATHelper: Packaging (Windows (64-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam-Win64-Shipping.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp_SteamUserStats referenced in function "public: void __cdecl FOnlineLeaderboardsSteam::CacheCurrentUsersStats(void)" (?CacheCurrentUsersStats@FOnlineLeaderboardsSteam@@QEAA
    UATHelper: Packaging (Windows (64-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam-Win64-Shipping.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp_SteamApps referenced in function "public: bool __cdecl FOnlineSubsystemSteam::InitSteamworksClient(bool,int)
    UATHelper: Packaging (Windows (64-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam-Win64-Shipping.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp_SteamNetworking referenced in function "public: virtual class FSocket * __cdecl FSocketSubsystemSteam::CreateSocket(class FName const &,class FString const &,bool)" (?Crea
    UATHelper: Packaging (Windows (64-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam-Win64-Shipping.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp_SteamMatchmakingServers referenced in function "public: void __cdecl FPendingSearchResultSteam::CancelQuery(
    UATHelper: Packaging (Windows (64-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam-Win64-Shipping.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp_SteamRemoteStorage referenced in function "public: virtual void __cdecl FOnlineUserCloudSteam::DumpCloudFileState(class FUniqueNetId const &,class FString const &)" (?Dump
    UATHelper: Packaging (Windows (64-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam-Win64-Shipping.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp_SteamGameServer_Init referenced in function "public: bool __cdecl FOnlineSubsystemSteam::InitSteamworksServe
    UATHelper: Packaging (Windows (64-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam-Win64-Shipping.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp_SteamGameServer referenced in function "public: virtual void __cdecl FOnlineAsyncTaskSteamCreateServer::Finalize(void)" (?Finalize@FOnlineAsyncTaskSteamCreateServer@@UEAAX
    UATHelper: Packaging (Windows (64-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam-Win64-Shipping.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp_SteamGameServerUtils referenced in function "public: bool __cdecl FOnlineSubsystemSteam::InitSteamworksServer(void)" (?InitSteamworksServer@FOnlineSubsystemSteam@@QEAA_NXZ
    UATHelper: Packaging (Windows (64-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam-Win64-Shipping.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp_SteamGameServerNetworking referenced in function "public: virtual class FSocket * __cdecl FSocketSubsystemSteam::CreateSocket(class FName const &,class FString const &,boo
    UATHelper: Packaging (Windows (64-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam-Win64-Shipping.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp_SteamGameServerStats referenced in function "public: bool __cdecl FOnlineSubsystemSteam::InitSteamworksServer(void)" (?InitSteamworksServer@FOnlineSubsystemSteam@@QEAA_NXZ
    UATHelper: Packaging (Windows (64-bit)): UnrealBuildTool: G:\Users\ChrisVR\Documents\Unreal Projects\PunchBomb 4.13\Binaries\Win64\PunchBomb-Win64-Shipping.exe : fatal error LNK1120: 14 unresolved externals
    UATHelper: Packaging (Windows (64-bit)): UnrealBuildTool: ERROR: UBT ERROR: Failed to produce item: G:\Users\ChrisVR\Documents\Unreal Projects\PunchBomb 4.13\Binaries\Win64\PunchBomb-Win64-Shipping.exe
    UATHelper: Packaging (Windows (64-bit)): Program.Main: ERROR: AutomationTool terminated with exception: AutomationTool.CommandUtils+CommandFailedException: Command failed (Result:5): C:\Program Files (x86)\Epic Games\4.13\Engine\Binaries\DotNET\UnrealBuildTool.exe PunchBomb Win64 Shipping -Project="G:\Users\ChrisVR\Documents\Unreal Projects\PunchBomb 4.13\Pu
    PackagingResults:Error: Error Unknown Error

Hey Oraclefish,

4.13 changed how Steam SDK is setup (it is now a plugin) so my guess is that Allars guide is no longer valid.

As he says:

This guide was written using UE4 4.10. If using a later version, many steps here are subject to change and/or irrelevance.

Because there is no official steps to upgrade the Steam SDK version in the current engine, the safest method is to stick with 1.32.

Alright! Will do - I was having trouble getting it to write to the steam leaderboards and was wondering if it had to do with needing the latest steam sdk. If that’s not the case, I’ll keep messing with it!

Thanks for your reply!

Just curious - Is there a reason the Steam SDK wasn’t updated in Unreal when it switched over to Plugin format? Doesn’t make a lot of sense to update how online subsystem works but ship with a version of the SDK that’s well over a year old…

There isn’t any internal note on why UE4 still uses 1.32 but my guess is that it hasn’t been needed. Most of those types of updates come from necessity, not just because there is something new.