Unable to create OnlineSubsystem module Steam

Hello, I have followed many tutorials and guides to get Steam up and running inside of UE4. I have gone through Unreal’s guide as well as others. I have tried in a source engine as well as a precompiled engine.

I cannot seem to get Steam to initialize. I always make sure to test in a standalone application, however, the overlay never appears, and in my output log are the messages:

LogPluginManager: Mounting plugin OnlineSubsystemSteam
LogPluginManager: Mounting plugin SteamShared
LogPluginManager: Mounting plugin SteamVR
LogSteamShared: Display: Loading Steam SDK 1.47
LogSteamShared: Steam SDK Loaded!
LogOnline: OSS: Creating online subsystem instance for: Steam
LogOnline: Display: STEAM: OnlineSubsystemSteam::Shutdown()
LogOnline: OSS: Unable to create OnlineSubsystem module Steam

I have my DefaultEngine.ini configured as such:

[OnlineSubsystem]
PollingIntervalInMs=20
DefaultPlatformService=Steam
VoiceNotificationDelta=0.2

[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480
SteamAppId=480
GameServerQueryPort=27015
bRelaunchInSteam=false
GameVersion=1.0.0.0
bVACEnabled=1
bAllowP2PPacketRelay=true
P2PConnectionTimeout=90
Achievement_0_Id=""

[/Script/Engine.Engine]
+ActiveGameNameRedirects=(OldGameName="TP_BlankBP",NewGameName="/Script/Howloween")
+ActiveGameNameRedirects=(OldGameName="/Script/TP_BlankBP",NewGameName="/Script/Howloween")
+ActiveGameNameRedirects=(OldGameName="/Script/AdvancedWolf", NewGameName="/Script/Howloween")
!NetDriverDefinitions=ClearArray
; Uncomment the next line if you are using the Null Subsystem
;-NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/OnlineSubsystemUtils.IpNetDriver",DriverClassNameFallback="/Script/OnlineSubsystemUtils.IpNetDriver")
; Uncomment the next line if you are using the Steam Subsystem
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")

[/Script/Engine.GameEngine]
!NetDriverDefinitions=ClearArray
; Uncomment the next line if you are using the Null Subsystem
;-NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/OnlineSubsystemUtils.IpNetDriver",DriverClassNameFallback="/Script/OnlineSubsystemUtils.IpNetDriver")
; Uncomment the next line if you are using the Steam Subsystem
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")

[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"

I have added the steam client to the 32 bit and 64 bit Binaries.
I have the Project.Target.cs define “bUsesSteam = true;”
I have the Project.Build.cs define:

PublicDependencyModuleNames.AddRange(new string[] {
"OnlineSubsystem",
"OnlineSubsystemUtils"
});
    
//Steam
DynamicallyLoadedModuleNames.Add("OnlineSubsystemSteam");

Finally, this was a bit ago mind you, I even tried packaging the build, adding a steam_appid.txt next to the .exe produced and I still had nothing come of it. I have tried with Steam (the client) open and closed.

This is driving me nuts and I can’t figure out what I’m doing wrong, any help would be greatly appreciated!

Hi,

According to this thread: "Unable to load default OnlineSubsystem module Steam" - Platform & Builds - Unreal Engine Forums

There is a solution provided by user Waffelmuffin saying:

"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"

Does this solution work in your case?

3 Likes

This totally works! Awesome! Thanks for that! <3