HTML5 export fails when compiling WebAssembly

So I’m using Unreal 4.16.0-3415560+++UE4+Release-4.16.

I packaged my projet for HTML5 target with all defaults options for this new realease (WASM, WebGL2, IndexedDB disabled).

So I launch the HTML5LauchHelper and target my browser at it.
The message “Running with IndexedDB access disabled.” is shown at the bottom of the page.
The “Downloading” phase seems to work as expected.
During the “Compiling WebAssembly”, this message appears : “Expression (IsRootedPath(AdditionalDir)) failed in D:\Build++UE4+Release-4.16+Compile\Sync\Engine\Source\Runtime\Projects\Private\ProjectDescriptor.cpp:277!
Check console for details.”.

Here is the console log :

Expression 'IsRootedPath(AdditionalDir)' failed in D:\Build\++UE4+Release-4.16+Compile\Sync\Engine\Source\Runtime\Projects\Private\ProjectDescriptor.cpp:277!
    at __ZN18FProjectDescriptor18AddPluginDirectoryERK7FString (WebLoft.html:31800160:1)
    at __ZN18FProjectDescriptor4ReadERK11FJsonObjectRK7FStringR5FText (WebLoft.html:9011509:1)
    at __ZN18FProjectDescriptor4LoadERK7FStringR5FText (WebLoft.html:27869398:1)
    at __ZN15FProjectManager15LoadProjectFileERK7FString (WebLoft.html:30676048:1)
    at __ZN11FEngineLoop7PreInitEPKw (WebLoft.html:2139021:1)
    at __ZN11FEngineLoop7PreInitEiPPwPKw (WebLoft.html:8508790:1)
    at __Z10HTML5_Initv (WebLoft.html:33002425:1)
    at _main (WebLoft.html:32247818:1)
    at Module._main (baec2f0e-b395-4152-aafd-9aba42479e45:1:707440)
    at callMain (baec2f0e-b395-4152-aafd-9aba42479e45:1:780654)
    at doRun (baec2f0e-b395-4152-aafd-9aba42479e45:1:781610)
    at run (baec2f0e-b395-4152-aafd-9aba42479e45:1:781796)
    at runCaller (baec2f0e-b395-4152-aafd-9aba42479e45:1:779978)
    at removeRunDependency (baec2f0e-b395-4152-aafd-9aba42479e45:1:30819)
    at withIndexedDB/< (WebLoft.html:1255:4)
    at promise callback*withIndexedDB (WebLoft.html:1250:3)
    at Async* (WebLoft.html:1259:2)
    at j (jquery-2.1.3.min.js:2:26906)
    at EventListener.handleEvent*n.ready.promise (jquery-2.1.3.min.js:2:29818)
    at  (jquery-2.1.3.min.js:2:29910)
    at  (jquery-2.1.3.min.js:2:207)
    at  (jquery-2.1.3.min.js:2:2) baec2f0e-b395-4152-aafd-9aba42479e45:1:359631
uncaught exception: storeToIndexedDB: IndexedDB writes disabled by "?noidbwrite" option baec2f0e-b395-4152-aafd-9aba42479e45:1:38553

Then, the compiling phase appears to be successfully completed, then the “Launching engine…” phase starts and gets stuck.

Is this an engine bug or do I have a problem with IndexedDB?


I think these two errors are unrelated. To me this reads like an issue with a missing file/directory in the generated virtual filesystem that the page is running on. Did you build from source? (or would you be able to?) If so, I wonder what the value of the path AdditionalDir is there? Given that it has a reference to “AddPluginDirectory” there, does the project use some plugins? Does a project without any plugins export and run correctly? Does this project run correctly in asm.js?

I think you should be able to re-enable IndexedDB by hand-editing the .html file and setting the boolean variable controlling IndexedDB to true. Iirc IndexedDB was temporarily disabled in that preview version due to a yet unresolved bug.

I have a similar issue as well, with as last error at launching engine:

Uncaught (in promise) storeToIndexedDB: IndexedDB writes disabled by "?noidbwrite" option