What's wrong with my steam settings?

I followed the offical doc setting the steamworks SDK and defaultEngine.ini.
I also add somelines following some guides on the internet.

mygame.build.cs:
PrivateDependencyModuleNames.AddRange(new string] { “OnlineSubsystem”, “OnlineSubsystemUtils”});

    DynamicallyLoadedModuleNames.Add("OnlineSubsystemSteam");

mygame.target.cs:
public FightTarget(TargetInfo Target)
{
Type = TargetType.Game;

    bUsesSteam = true;
}

this is the log of packaging

//======================================
UATHelper: Packaging (Windows (32-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp__SteamUser referenced in function “public: __thiscall FOnlineFriendsSteam::FOnlineFriendsSteam(class FOnlineSubsystemSteam
UATHelper: Packaging (Windows (32-bit)): *)” (??0FOnlineFriendsSteam@@QAE@PAVFOnlineSubsystemSteam@@@Z)
UATHelper: Packaging (Windows (32-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp__SteamFriends referenced in function “public: __thiscall FOnlineFriendsSteam::FOnlineFriendsSteam(class FOnlineSubsystemSte
UATHelper: Packaging (Windows (32-bit)): am *)” (??0FOnlineFriendsSteam@@QAE@PAVFOnlineSubsystemSteam@@@Z)
UATHelper: Packaging (Windows (32-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp__SteamUtils referenced in function “public: bool __thiscall FOnlineSubsystemSteam::InitSteamworksClient(bool,int)” (?InitSteamworksClient@FOnlineSubsystemSteam@@QAE_N_NH@Z)
UATHelper: Packaging (Windows (32-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp__SteamMatchmaking referenced in function “public: __thiscall FOnlineAsyncTaskSteamFindLobbies::FOnlineAsyncTaskSteamFindLob
UATHelper: Packaging (Windows (32-bit)): bies(class FOnlineSubsystemSteam *,class TSharedPtr<class FOnlineSessionSearch,0> const &)” (??0FOnlineAsyncTaskSteamFindLobbies@@QAE@PAVFOnlineSubsystemSteam@@ABV?$TSharedPtr@VFOnlineSessionSearch@@$0A@@@@Z)
UATHelper: Packaging (Windows (32-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp__SteamUserStats referenced in function “public: void __thiscall FOnlineLeaderboardsSteam::CacheCurrentUsersStats(void)” (?C
UATHelper: Packaging (Windows (32-bit)): acheCurrentUsersStats@FOnlineLeaderboardsSteam@@QAEXXZ)
UATHelper: Packaging (Windows (32-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp__SteamApps referenced in function “public: bool __thiscall FOnlineSubsystemSteam::InitSteamworksClient(bool,int)” (?InitSteamworksClient@FOnlineSubsystemSteam@@QAE_N_NH@Z)
UATHelper: Packaging (Windows (32-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp__SteamNetworking referenced in function “public: virtual class FSocket * __thiscall FSocketSubsystemSteam::CreateSocket(cla
UATHelper: Packaging (Windows (32-bit)): ss FName const &,class FString const &,bool)” (?CreateSocket@FSocketSubsystemSteam@@UAEPAVFSocket@@ABVFName@@ABVFString@@_N@Z)
UATHelper: Packaging (Windows (32-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp__SteamMatchmakingServers referenced in function “public: void __thiscall FPendingSearchResultSteam::CancelQuery(void)” (?Ca
UATHelper: Packaging (Windows (32-bit)): ncelQuery@FPendingSearchResultSteam@@QAEXXZ)
UATHelper: Packaging (Windows (32-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp__SteamRemoteStorage referenced in function “public: virtual void __thiscall FOnlineUserCloudSteam::DumpCloudFileState(class FUniqueNetId const &,class FString const &)” (?DumpCloudFileSt
ate@FOnlineUserCloudSteam@@UAEXABVFUniqueNetId@@ABVFString@@@Z)
UATHelper: Packaging (Windows (32-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp__SteamGameServer_Init referenced in function “public: bool __thiscall FOnlineSubsystemSteam::InitSteamworksServer(void)” (?InitSteamworksServer@FOnlineSubsystemSteam@@QAE_NXZ)
UATHelper: Packaging (Windows (32-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp__SteamGameServer referenced in function “public: virtual void __thiscall FOnlineAsyncTaskSteamCreateServer::Finalize(void)”
UATHelper: Packaging (Windows (32-bit)): (?Finalize@FOnlineAsyncTaskSteamCreateServer@@UAEXXZ)
UATHelper: Packaging (Windows (32-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp__SteamGameServerUtils referenced in function “public: bool __thiscall FOnlineSubsystemSteam::InitSteamworksServer(void)” (?
UATHelper: Packaging (Windows (32-bit)): InitSteamworksServer@FOnlineSubsystemSteam@@QAE_NXZ)
UATHelper: Packaging (Windows (32-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp__SteamGameServerNetworking referenced in function “public: virtual class FSocket * __thiscall FSocketSubsystemSteam::CreateSocket(class FName const &,class FString const &,bool)” (?Creat
eSocket@FSocketSubsystemSteam@@UAEPAVFSocket@@ABVFName@@ABVFString@@_N@Z)
UATHelper: Packaging (Windows (32-bit)): UnrealBuildTool: UE4-OnlineSubsystemSteam.lib(Module.OnlineSubsystemSteam.cpp.obj) : error LNK2019: unresolved external symbol __imp__SteamGameServerStats referenced in function “public: bool __thiscall FOnlineSubsystemSteam::InitSteamworksServer(void)” (?InitSteamworksServer@FOnlineSubsystemSteam@@QAE_NXZ)
//=======================================

I find some errors in some codes related to steam

I find that some heads could not be included. What are these? Are thses 2 heads steam_api.h and steam_gameserver.h in steamworks SDK? Should I copy them or all the files in the same folder as these 2 heads to C:\Program Files (x86)\Epic Games\4.13\Engine\Plugins\Online\OnlineSubsystemSteam\Source?

Finally!! After searching lots lots of posts on the Internet, I find that UE4 only support steamworks SDK 1.32!!!

//==============================
The solution to this problem is:

NOT to cover the existed files** steam_api.dll/steam_api64.dl** in folder C:\Program Files (x86)\Epic Games\4.14\Engine\Binaries\ThirdParty\Steamworks\Steamv132\Win32(Win64) using those in the lastest steamworks SDK you’ve downloaded!!

Then, you can follow the official doc.

//======================

I hope there could be a notice for this problem in the official doc, since others may encounter this problem as well, I guess.

Hi, I have the same problem than you had but I’m not sure how you fixed it. Following the official doc this is what I did so far:

  • Change the steam version in the Steamworks.build.cs to v139 (currently the last one).
  • Add the folder “C:\Program Files (x86)\Epic Games\4.14\Engine\Source\ThirdParty\Steamworks\Steamv139” and place the downloaded sdk inside.
  • Create the folder “C:\Program Files (x86)\Epic Games\4.14\Engine\Binaries\ThirdParty\Steamworks\Steamv139” and create the folders “Win64” and “Win32” inside.
  • Place into “Win32/Win64” the files “steam_api.dll/steam_api64.dll”, “steam_client.dll/steam_client/64.dll”, “tier0_s.dll/tier0_s64.dll”, “vstdlib_s.dll/vstdlib_s64.dll”. The “steam_api.dll/steam_api64.dll” I copied were the ones that are somewhere inside “C:\Program Files (x86)\Steam”.

Doing this I had the same error as you, so I decided to remove the “steam_api.dll/steam_api64.dll” and use the ones that are within “C:\Program Files (x86)\Epic Games\4.14\Engine\Binaries\ThirdParty\Steamworks\Steamv132” instead but I got the same error again. What am I doing wrong?

Thanks in advance.

Don’t change the name of the folder “Steamv132” and codes in c++, since the folder name may be used in other cpps and you remain them as “Steamv132” or “v132”, while your folder name is actually “Steamv139”.

I mean that you should put all those dlls into Steamv132 and remain the original “steam_api.dll/steam_api64.dll”. You don’t need to edit any cs or cpp.

Hi, yes thanks!, that solved it.