Plugins loaded before splash screen is shown?

We recently moved from 4.11 to 4.14 and in doing so I have noticed a different behavior in displaying the splash screen. We are using the BLUI plugin for HTML5 content and it apparently takes a while to load, but the splash screen does not seem to be shown until the plugin is fully loaded. This problem is of course for a deployed/packaged game.

In our case, it takes roughly a minute before the user gets any feedback whatsoever that the deployed game is started, and after that minute the splash screen just blinks and then the game starts. By that time the user has of course started the game about 7 times.

Backing up versions of the engine, this behavior seems to have started with 4.12.

Is this an intended behavior? Do we need to modify the plugin somehow to get it to load after the splash has been displayed?

Hello C.Hallqvist,

I apologize for the delay on this. I’m looking into this but need some more information from you. What loading phase is your plugin set to and when is your splash screen set to appear?

Edit: Also, is your loading screen in a separate C++ module from your actual gmae, such as how ShooterGame is setup?

The uplugin file contains two modules that both have the LoadingPhase set to PreDefault. And the splash screen is just the built in GameSplash under Project settings/Windows so I’m not sure how that is configured. We haven’t made any changes other than replacing the bmp-image so it should be the engine default.

We also have a startup movie setup so it would be nice if that had started before the plugin starts to load, but at the very least the initial splash image needs to be shown.

I should’ve asked previously, but is this exclusively happening when launching to HTML5 or does it happen if you launch on Windows as well?

Ah no, we only deploy to Windows. The BLUI plugin is for showing HTML5 content in the Win64 deployed game. I’m kind of suspecting that it has something to do with libcef which is included both in the engine and in the BLUI plugin, but it’s just a guess. It sounds a bit too much with over a minute to load CEF though.

Yesterday I did a binary build from the Nvidia VXGI branch of the Unreal Engine (based on 4.14.3 source). And strangely enough, when I make a deployment with that custom build, the splash comes up immediately as expected.

I am just a novice on the Unreal build system, but one of the things I did was to remove all Win32 references from the Win64 build settings in InstalledEngineBuild.xml since the build failed all the time when the package does not include Win32-versions of the VXGI dlls. Don’t know if that has anything to do with the difference in behavior though.

I’m assuming this error message from the plugin’s log has somthing to do with this?
ERROR:tcp_socket_win.cc(361)] bind() returned an error: Only one usage of each socket address (protocol/network address/port) is normally permitted.

Might be a reason as to why the wait is roughly one minute, if it’s the timeout. I don’t know if libcef tries to bind the 7777 port for debug when the dll loads, which I believe is the same port as the engine uses?

I tried changing Port=7777 under [URL] in Engine\Config\BaseEngine.ini and also the HttpConnectionTimeout=60 to a smaller value and then make a new deploy, but there was no difference.

There is not a working fix/workaround for the BLUI plugin, which you can find information about at .com/AaronShea/BLUI/issues/89