"Unable to load default OnlineSubsystem module Steam"

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 the DefaultEngine.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 both Win32 and Win64 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 at C:\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.

Me too… I will release in July 29th… HELP ME
Sorry I can’t bring answer.

were you able to fix this , im getting the same problem

Hey

Dealing with the same problem in 4.22.3 atm, and I mean the exact problem, other then my one is working in editor. but not in packaged

if you got a fix that would be lovely

I had the same issue!

Here is the solution:

You can ignore the Warning. When it finishes packaging open the folder: YOURGAME\Binaries\Win64
Create a new text file and call it: steam_appid.txt

Open the file and write 480. Save it and start your game. It should work now

I hope this works for you too

(Excuse my English, if smth is wrong)

2 Likes

Thank you sharing! It worked!
Do you have any idea how to enable this in when you launch the game as StandAlone from the editor?

That did it! Thank you so much ! I would also like to know if there is a way to enable this in the editor?

Glad I could help. Idk about the editor though.

Adding the steam_appid.txt into your UE\Engine\Binaries\Win64 and Win32 Folders should work for standalone from editor

1 Like

Helping people years later! thank you luckily it only took an hour or two to find this post for me