I am stuck in a loop where OnlineSubsystemSteam refuses to stay initialized, causing SteamSockets to disable itself. I can still discover and join sessions via CreateAdvancedSession and JoinSession, but the resulting gameplay is extremely jittery (on the client’s side, and only watching their own movement. Server sees the client moving fine and client sees server player moving fine). Server log says “Playername is not part of session.” When I boot up the engine it says:
LogSteamShared: Display: Loading Steam SDK 1.61
LogSteamShared: Steam SDK Loaded!
LogOnline: Display: STEAM: OnlineSubsystemSteam::Shutdown()
LogOnline: OSS: Unable to create OnlineSubsystem instance Steam
LogSockets: SteamSockets: Disabled due to no Steam OSS running.
Details:
Engine: UE5.7 (source)
SDK: Steamworks v1.61
Plugins: Advanced Steam Sessions, SteamSockets, SteamShared
DefaultEngine.ini config:
[/Script/Engine.GameEngine]
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName=“GameNetDriver”,DriverClassName=“/Script/SteamSockets.SteamSocketsNetDriver”,DriverClassNameFallback=“OnlineSubsystemUtils.IpNetDriver”)
[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName=“/Scripts/SteamSockets.SteamSocketsNetConnection”
[OnlineSubsystem]
bHasVoiceEnabled=true
DefaultPlatformService=Steam
[OnlineSubsystemSteam]
bEnabled=True
bUseSteamNetworking=True
SteamDevAppId=480
[/Script/SteamSockets.SteamSocketsNetDriver]
NetConnectionClassName=“SteamSockets.SteamSocketsNetConnection”
+PacketHandlerComponents=“SteamSockets.SteamSocketsComponent”
+PacketHandlerComponents=“OnlineSubsystemSteam.SteamAuthComponentModuleInterface”
[/Script/OnlineSubsystemSteam.SteamNetLib]
bUseSteamNetworking=true
[SocketSubsystemSteam]
bAllowP2PPacketRelay=true
All relevant plugins are enabled and set to true in the uproject file.
What’s happening:
The OSS seems to load the SDK successfully but then immediately calls shutdown(). Because the OSS is dead, SteamSockets never takes over the GAmeNetDriver. My best guess is that the “Join” is happening at the Steam API level, but the Engine’s NetDriver isn’t recognizing the connection as a valid Steam Socket Stream.
- Why would the OSS load the SDK then immediately trigger a shutdown?
- Does the “Not part of session” error imply a Steam Auth failure due to the Subsystem being down?
- could a mismatch between SteamShared and the project-level Build.cs cause this specific error in 5.7?
Note that I’m using SteamDevAppId 480.
Thank you!