Hey guys!
I’ve spent the whole day trying to integrate my game with Steam. Followed several tutorials, none of them made the famous’ Steam overlay pop up successfully.
When starting up my editor, I have this in the Output Logs
:
LogOnline: Display: STEAM: Loading Steam SDK 1.39
LogOnline: Warning: STEAM: Steam API disabled!
LogOnline: Display: STEAM: OnlineSubsystemSteam::Shutdown()
LogOnline: Unable to create OnlineSubsystem module Steam
LogOnline: Unable to load default OnlineSubsystem module Steam, using NULL interface
And even after running the Standalone Game, no success; no error messages either.
Some of my current scenario:
- This is not a compiled from source project, nor C+±only. It’s just a content-only project, with blueprints out and about. Also, it’s not a vanilla game from a sample template.
- I’ve already started Steam before EpicLauncher/Unreal Engine.
- My retail Engine’s version is 4.18.3.
- My
Project/Config/DefaultEngine.ini
is just [like this][1]. It’s exactly the same as the one provided by Rama on [his tutorial][2]. ([Important lines highlighted here.][3]) (I’ve also tested with theDefaultEngine.ini
officially provided by Epic in [their own guide][4]). - This is how my
C:/Program Files/Epic Games/UE_4.18/Engine/Source/ThirdParty/Steamworks
look like:
https://i.imgur.com/kmFQSY8.png
And inside /Steamv142
, we find this:
https://i.imgur.com/IzevbSv.png
Which is exactly the same content extracted from the latest SDK version found [at the official Steamworks link][7].
- Now for
C:\Program Files\Epic Games\UE_4.18\Engine\Binaries\ThirdParty\Steamworks\Steamv142
, I have bothWin32
andWin64
folders. Which contains, respectively:
https://i.imgur.com/AhZyVFI.png
https://i.imgur.com/UThF0GJ.png
The only files within these folders I’ve gathered from Steam’s SDK download are, respectively, steam_api.dll
and steam_api64.dll
. All the rest were gotten from my Steam client’s folder, located at C:\Program Files (x86)\Steam
.
-
My
[GAME].Build.cs
contains:PublicDependencyModuleNames.AddRange(new string[] { "OnlineSubsystem", "OnlineSubsystemUtils" }); DynamicallyLoadedModuleNames.Add("OnlineSubsystemSteam");
-
My
[GAME].Target.cs
contains:bUsesSteam = true;
-
[This is my
Steamworks.build.cs
][10] (located atC:\Program Files\Epic Games\UE_4.18\Engine\Source\ThirdParty\Steamworks
). -
These are my plug-ins availability:
https://i.imgur.com/0EOJWHT.png
https://i.imgur.com/9hC8SUg.png
https://i.imgur.com/BbjGgYU.png
- As well as, after the first failures, I’ve tried with the [Joshua Statzer’s AdvancedSessions Plug-In][14], which are both enabled (disabling them doesn’t change the results.):
https://i.imgur.com/TeG2cjE.png
-
It’s important to note that I’ve Generated Visual Studio Project Files way before trying to integrate my game with Steam. I needed a [thirdparty plug-in][16] and had to do that. Meaning that I’ve recompiled the Engine, not from the source, but I did.
-
After every change I’ve made in an Engine file, I’ve compiled it again and relaunched my game altogether with the editor.
-
[Tried to use this utility][17]. The utility works properly, placing the correct files in the correct places, but still no success.
–
MY (UNEXPERIENCED) POINT-OF-VIEW.
Maybe I’m wrong, but it doesn’t seem to be an issue directly related to missing files. I mean, after researching a little, when a missing DLL is occurring, the logs make it clear for us, and this is not the case (unless I’m looking at the wrong logs).
The impression I have is that, somehow, the changes on the Engine aren’t communcating properly with my game. Am saying this because… well… let’s zoom this line of the log:
LogOnline: Display: STEAM: Loading Steam SDK 1.39
To make myself sure of the changes I’m making are actually applied, I went to Visual Studio and started looking up for this string: Loading Steam SDK
. The result is this:
https://i.imgur.com/pTRZ8jH.png
Inside the line that I found, I’ve made the following, subtle changes:
From
https://i.imgur.com/PqmUMMT.png
To
https://i.imgur.com/GshENHh.png
As you may have noticed, I just changed the text a bit. Just to see its effect in practice in the Output Logs, inside the Editor.
Important to emphasize that after making that change, I’ve completely closed the Engine, compiled it through Visual Studio and started it again, even tried to use the Start new instance menu:
https://i.imgur.com/yoFOmMw.png
Which, unfortunately, gave me the same results as before: no success, no detailed errors, no happiness. The @@@@@@ Loading Steam SDK %s @@@@@@
copy simply didn’t show up. Still the same:
https://i.imgur.com/PdZliLU.png
Maybe am I building it incorrectly? Maybe am I misunderstanding how Build
works?
TO WRAP UP.
I’m missing something. I’m sure I am, but I can’t see what.
For those that’ll take some time to help me figure this puzzle out, an in-advance wholeheartedly thank you.