4.7 vanilla ShooterGame hangs on startup movie

Hi, after updating to 4.7 and installing a fresh copy of 4.7 ShooterGame example and creating a project from it (Named ShooterGame, so no renaming issues), game hangs on startup movie when launching from anywhere other than PIE. PIE works fine, but if you Launch from Editor, launch from your .exe or package your game and launch that .exe, process always hangs after first few frames of startup movie, but music continues playing in background. No crash logs or anything like that because process never actually crashes, just hangs indefinitely.

Hi all,
I’ve found that if you go into DefaultEngine.ini and change DefaultPlatformService to Null, and under [OnlineSubsystemSteam], change bEnabled to false, things will launch properly. So I guess question now becomes why having Steam enabled in 4.7 seems to cause a crash?

Hi kopirat,

Can you paste here what you had in DefaultEngine.ini when it wasn’t working, so I can try to reproduce it here? default is:

[OnlineSubsystem]
;DefaultPlatformService=Null
DefaultPlatformService=Steam
PollingIntervalInMs=20

Thanks!

Hi ,

I’m also seeing precisely same behavior as kopirat - including nulling out Steam settings as a successful workaround (which is a problem since I need to run some comparisons against known-working multiplayer code). DefaultEngine.ini values that prevent it from working are default ones in a completely fresh 4.7 ShooterGame project.

Caveat: engine-side I’m using 4.7.1 with some extremely minor renderer LOD modifications, specifically an updated version of Andrew Scheidecker’s BrickGrid fork. That shouldn’t cause this, but just in case I’m in process of doing a completely clean 4.7.2 install and recompilation of unmodified 4.7.2 engine source to be absolutely sure. I’ll update with whether this persists once I’ve completed doing so.

Still freezing on launch with a fresh 4.7.2 engine install running a fresh 4.7 ShooterGame project.

issue appears to be Steam login:

LogPlayLevel: ShooterGame:
LogOnline:Display: STEAM: Loading
Steam SDK 1.30 LogPlayLevel:
ShooterGame: LogPlayLevel:
ShooterGame:
[2015.03.10-23.41.30:309][
0]LogOnline:Display: STEAM: Loading
Steam SDK 1.30LogOnline:Error: STEAM:
Steam User is NOT subscribed, exiting.
LogPlayLevel: ShooterGame:
LogPlayLevel: ShooterGame:
[2015.03.10-23.41.31:136][
0]LogOnline:Error: STEAM: Steam User
is NOT subscribed,
exiting.LogOnline:Display: STEAM:
OnlineSubsystemSteam::Shutdown()
LogPlayLevel: ShooterGame:
LogPlayLevel: ShooterGame:
[2015.03.10-23.41.31:136][
0]LogOnline:Display: STEAM:
OnlineSubsystemSteam::Shutdown()LogOnline:Warning:
STEAM: Steam API failed to initialize!
LogPlayLevel: ShooterGame:
LogPlayLevel: ShooterGame:
[2015.03.10-23.41.31:137][
0]LogOnline:Warning: STEAM: Steam API
failed to
initialize!LogOnline:Display: STEAM:
OnlineSubsystemSteam::Shutdown()
LogPlayLevel: ShooterGame:
LogPlayLevel: ShooterGame:
[2015.03.10-23.41.31:137][
0]LogOnline:Display: STEAM:
OnlineSubsystemSteam::Shutdown()LogOnline:Warning:
Unable to create OnlineSubsystem
module Steam LogPlayLevel:
ShooterGame: LogPlayLevel:
ShooterGame:
[2015.03.10-23.41.31:137][
0]LogOnline:Warning: Unable to create
OnlineSubsystem module
SteamLogOnline:Warning: Unable to load
default OnlineSubsystem module Steam,
using NULL interface LogPlayLevel:
ShooterGame: LogPlayLevel:
ShooterGame:
[2015.03.10-23.41.31:137][
0]LogOnline:Warning: Unable to load
default OnlineSubsystem module Steam,
using NULL interfaceLogVoice:Warning:
Failed to initialize voice interface

Notes:

  1. I’ve signed into Steamworks site and agreed to SDK terms, but don’t have a Greenlit project.

  2. I’m positive I haven’t seen this behavior in previous ShooterGame releases.

Hi Ryvar,

Just to be sure: your default DefaultEngine.ini values are

[OnlineSubsystem]
;DefaultPlatformService=Null
DefaultPlatformService=Steam
PollingIntervalInMs=20

Correct? What do you change them to to get it working?

Correct.

To get it working either close Steam application entirely (which kind of defeats point) or use following in DefaultEngine.ini:

[OnlineSubsystem]
DefaultPlatformService=Null
;DefaultPlatformService=Steam
PollingIntervalInMs=20

[OnlineSubsystemSteam]
bEnabled=false

Also worth mentioning since I’ve been digging into this problem all day today:
This behavior does not occur in a fresh installation of 4.5.1 and a new 4.5 ShooterGame project.

I am getting exact same behavior here. When game is fully deployed, it freezes on main intro logo after spitting out those Steam-related errors into error log.

Further digging:
A clean compilation from source of 4.5.1 and ShooterGame 4.5, precisely following instructions here and here resulted in a cooked content build of ShooterGame with all basic Steam functionality intact (tested: overlay, friends list populating in-game HUD, broadcast from in game).

Again following those instructions, this time with a clean compilation from source of 4.7.2 and ShooterGame 4.7 resulted in initially reported hang with log output identical to above.

Hi all,

This sounds like a known issue we have reported in UE-4870. If Steam is running, engine automatically tries to use Steam network protocol for communication, which is incompatible with standard sockets over LAN.

To test multiplayer in this case without closing Steam, you can use bIsLanMatch URL option on server to bypass Steam networking layer:

ShooterGame\Binaries\Win64\ShooterGameServer.exe /game/maps/Highrise?bIsLanMatch -log

I’m told there may be a coming fix for that, and I’ll let you know if I hear more. Hope this helps!

What I’d like to do at this point is get ShooterGame’s Steam integration working with any 4.7.0 or later build, which so far has proven impossible (no issue with earlier builds). I’ll try with a clean compile of 4.7.3 and then post a followup question if it doesn’t work.

Thank you, you just saved me a big headache! What is annoying is it doesnt even log this in log, it just locks up :slight_smile:
Thanks for tip!

This still happens on UE4 v4.8.3 ( Version: 4.8.3-2634408+++depot+UE4-Releases+4.8 )

Hi all,

This appears to simply be a limitation of engine working with Steam. While testing, you’ll either need to run both Client and Server instances with " -nosteam", or bypass networking altogether for in-editor testing as suggested above.