HTML5 Game stuck at "Loading Engine..."

My game is just stuck at “loading engine…” no errors or anything!

Any known way to troubleshoot this?

Also, this is with the local test HTML5LaunchHelper.exe

How do I test on my ftp server? Do I just upload the files to a new directory?

229489-capture.png

There’s two ways to get to debug info:

  1. In Development+Shipping builds, you can look into the console log window of the browser page, Web Console UI Tour — Firefox Source Docs documentation , which has the browser generated log prints.

  2. In Development builds, there is a log window on the generated web page, but (I think accidentally) this was left to be hidden in the UE 4.18 release. You can make it show up on the page by opening the web console via the instructions above, and typing in the web console window

    document.getElementById(‘logwindow’).style.display = ‘block’;

The same log window is also present in Shipping builds, although UE4 strips out so much of debugging information in Shipping builds that the log window in practice ends up being empty. In Development builds it contains all sorts of information.

Thank you very much this helps a ton to find a solution. I’ll report back if I find one!

This is what came up… investigating as it seems “the source map information is not available”.

Edit: This is running off the local test .exe and I will be uploading to a host later today to verify if that changes anything. I know testing locally is not really viable at this point for HTML5 projects.

Uploaded to my server and I have the attached .txt files of errors. So my first section of code I’m trying to work out is the:

Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.
thatthing-nocompress:496:2
warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling
thatthing-nocompress:496:2

If anyone has any thoughts please let me know - is there a way to add build commands to a HTML5 package process?

To confirm steps I’ve taken:

Downloaded source 4.18.3, added my game to the project.

Packaged a development build and ran HTML5LaunchHelper.exe, ran in Firefox.

Downloading 4.19 preview to test if anything changes.

Errors attached!

link text

according to your error log:

Error: WebGL warning: Failed to create WebGL context: WebGL creation failed: 
 ** Error during ANGLE OpenGL init.
 ** Error during ANGLE OpenGL init.
 ** Error during ANGLE OpenGL init.
 ** Error during ANGLE OpenGL init.
 ** Error during ANGLE OpenGL init.
 ** Exhausted GL driver caps.

i know that firefox works pretty well out of the box.

but, ah… looking at your video card details, it’s showing it’s running old DirectX 9… please update your Windows graphics to DirectX 12. AND, update your graphics drivers to the latest from nVidia for your card model (GeForce GTX 980 Ti).

what version of firefox are you running?

and, does this mean chrome is running your project ok?

what happens (just in case) if you force reload with no-cached data: CTRL+Shift+R

Sort of interesting of the DX9 issue as I have DX11 installed (Windows 7). I did however run windows update and update my graphics driver to the latest. Errors still following through. I even uploaded the uncompressed version which was 1.1 gbs and tested on my ftp, console log attached (you can tell it took awhile to actually load). Note my shipping build is a better size - around 450mb which I know is still large and something I’m working on. I have also created a blank third person project, uploaded it and ran it successfully too and that was about the same size - 450mb ish. The blank third person worked in chrome and firefox, even on a Macbook Pro.

When I load via Firefox it shows DX9 as you mentioned:

Initial memory size: 1024MB (MIN_MEMORY: 32MB, IDEAL_MEMORY: 1024MB, MAX_MEMORY: 2047.9375MB, RESERVE_MAX: true, heuristic64BitBrowser: true, heuristic64BitOS: true)  newproj-dev:125
Google Inc. ANGLE (NVIDIA GeForce GTX 980 Ti Direct3D9Ex vs_3_0 ps_3_0)/Mozilla Mozilla WebGL 1.0, WebGL GLSL ES 1.0

When I load via Chrome however, it shows DX11 as it should - because it is installed.

Initial memory size: 1024MB (MIN_MEMORY: 32MB, IDEAL_MEMORY: 1024MB, MAX_MEMORY: 2047.9375MB, RESERVE_MAX: true, heuristic64BitBrowser: true, heuristic64BitOS: true)
(index):1059 Google Inc. ANGLE (NVIDIA GeForce GTX 980 Ti Direct3D11 vs_5_0 ps_5_0)/WebKit WebKit WebGL WebGL 2.0 (OpenGL ES 3.0 Chromium), WebGL GLSL ES 3.00 (OpenGL ES GLSL ES 3.0 Chromium)

229901-capture.png

Just to add, I’ve attached my console log from my empty thirdperson level. This was hosted as well and it works - I can run around and what not. It was a 550 MB download.

Edit: new picture showing DX11 is in use and updated log [link text][1]

Uninstalled Firefox and did a clean install with it. Not sure why that happened? Perhaps my windows updates affected the Firefox install - I had only installed it originally last week. New log attached without some of those issues (hosted version).

Chrome does not work either, same errors - across multiple PCs and a MAC. No difference with CTRL+SHIFT+R.

How do you change heap size now? I was able to get to my loading screen in 4.17.2 I think because I could make the heap size 2048. This used to be in the packaging settings but is no longer there?

I noticed at the end of the package process:

And on the 4.17.2 project I would get to my loading screen BUT still had this error:

Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.

Downloaded 4.19 Preview 4 source and packaged my project. Lots more information is given in 4.19 - looks pretty interesting!

I haven’t gotten the chance to dig in to it yet but it could be landscape material related, I will test tomorrow. Some errors still persist it seems. Log file attached link text

heap size setting are no longer used for WASM – this was an ASM.js configuration.

also, if you’re looking for ways to help reduce the size of your *.data file – try reducing the texture sizes. see the following for details:

as for the source-map issue, i posted this in another thread you asked… reprinted here for your convenience:

=== start of reprint ===

we don’t use that feature anymore. UE4 use’s emscripten’s “–profiling-funcs” option to always (debug/developer builds only) have the call stack printable in demangled format NOTE: look at the console.log output to see this which may not be printed on the browser page

https://github.com/EpicGames/UnrealEngine/blob/release/Engine/Source/Programs/UnrealBuildTool/Platform/HTML5/HTML5ToolChain.cs#L233-L250

so also note: shipping builds will go back to the mangled function name format. but, you can copy and paste the c++ name mangled lines to: https://demangler.com/ to get it back to “normal”.

=== end of reprint ===

Ohhhh so essentially the source map error will always be present than? I was thinking from a stand point there was a way to remove that error from appearing if it is not used anymore.

Thanks, ill run through some material optimizations and see if it does the trick.

This error appears to have been from executing code too early on the Player Controller. I had code that ran off of the construction script and it would automatically cause this error.

If I instead, ran it off event begin play with a short delay the error does not happen.

So what happened in the end? Did you manage to run it online and how? I am struggling the past week. I get the source map emscripten errors when i package html5 for debugging and get error404 not found when i package it for shipping. I tried with empty levels and whatnot and i cannot get even that running on html5

First try with a blank third person project and the newer the engine version the better. The basic template should not have any issues unless you are on an old version of directX. Which at the time I had to reinstall directx as I had some random old version.

Make sure your maps are in the Project/Maps folder and you have all the proper default maps set in project settings.

Also, if you are running local tests you need to run the HTML5 helper tool, than open a browser and connect to the local host address that the helper tool displays. For a live environment upload the pacakaged files to an FTP server and browse to the address.

Ignore the source map emscripten error. :slight_smile:

Also note that playing in a browser that is hosted on an FTP server is not online multiplayer. For multiplayer you will still need a dedicated server running to connect to (a whole other world of info).

c++ or blueprint first person project? i believe everything you said, i;ve done but i cant get them to work… i will try the first person project in a jiffy. What do you mean by the proper default maps?