HTML5 Packaging: do any plugins work?

I know there’s already some questions out about packaging HTML5 with plugins and I know the answer is: that’s a 3rd party developer problem. My question is can anyone verify that at least one plugin (ANY plugin at all) works in an HTML5 build in ANY UE4 version?

I’ve tried several different plugins using every version of UE4 from 4.11.2 up to 4.14.3, none of them work, all builds fail with “UNKNOWN ERROR”. Blank projects each time, all package HTML5 fine without plugins yada yada, same as all the other posts. I’m on W10 64bit, Visual Studio 2013. I might go back and start trying form 4.0 up, but that’s a ton of download time so i figured I’d ask first. I also tried packaging a few times using the experimental nativize blueprint which also failed.

If anyone can verify this, I’ll accept that it’s a plugin coding issue and contact the plugin developers (again), or maybe spend 6 months learning c++ , which i should probably do anyway… eeee

WhiteHawkDown,

As long as the plugin is created or set up to work with HTML5, it should work without any trouble. If you’re having trouble with a specific plugin, please let me know and provide the required replication steps and I’ll be more than happy to test this out.

VaRest Plugin and Low Entry - Json are 2 plugins that I know of that aren’t working with HTML5 currently. We are looking into it on our side to see if it is an issue of ours or not.

Thank you!

Hey Sam,

Ya, LE’s JSON & HTTP are what I need, but I also tried with Substance and Unreal.js, and I also attempted to build my own (empty) plugin which built fine normally but which also failed in the HTML5 build - I have no idea how the code needs to be adapted to work though.

Thus, so far as replication goes, any of those plugins in any 4.11+ build with a blank project should replicate it, but since JSON is what I need it sounds like I must be patient

Out of mild curiosity though (in case my patience bubble pops), is there any resource for how to make code in a plugin compatible with HTML5 (anything special in the engine) or is this purely an Emscripten issue? Like, should I just refer to Emscripten’s documentation to make it compatible?

Thanks

Any you’d have a tiny project that has some free plugin, preferably small, that gives this kind of unknown error? I’d be curious in trying it out myself to see what kind of error is produced. At minimum, it would be good to figure out the correct error that is happening, instead of printing a generic error. Perhaps there is some specific pattern to these plugins we can learn from to figure what they have in common that is not working.

There’s a free plugin called “Procedural Midi” - it seemed fairly light. I loaded it into a fresh blank project in 4.14 and got the identical “Error: Error Unknown Error”. Granted, there’s a good likelihood this plugin is not built with HTML5 in mind, but it’s throwing the identical error and it’s free, so should be easily reproduced.

All of the built-in plugins work fine of course, just external ones seem to be failing, whether from an engine issue or from a plugin developer issue is the question (or, from the sounds of it, a mixture of both)

I’ve used both Development and Shipping builds, and both a Full Rebuild and not. I can post my full build log if that’s useful, but like most of the other posts there’s these lines in there:

error: Linking globals named '_Z14UELinkerFixupsv': symbol multiply defined!
AssertionError: Failed to run llvm optimizations: 
 ERROR: UBT ERROR: Failed to produce item: E:\...\PluginTests\Binaries\HTML5\PluginTests.js
Program.Main: ERROR: AutomationTool terminated with exception

UATHelper: Packaging (HTML5): Program.Main: AutomationTool exiting with ExitCode=5 (5)
UATHelper: Packaging (HTML5): BUILD FAILED
PackagingResults:Error: Error Unknown Error

If you run into a problem with a plugin and it’s not an Epic Games plugin, you’ll need to contact the creator of the plugin to see about the error. It’s possible as you said, that it wasn’t created for HTML5. The description does say that the supported build target platforms does include HTML5.

Let me know what you find out from the creator of the plugin, thanks!

… yeah that was just an example … one of 5 … as I asked in the beginning… is there a single working html5 plugin anywhere in the universe that has ever existed? Because as far as I can tell it’s impossible to build HTML5 using any external plugins. Am I wrong about that? Okay cool. Where’s the example? Are we just not sure at this point? Ok that’s fine, i know we’re out in the wilds here, HTML5 isn’t an area of high focus.

I’m just trying to point out that NO PLUGINS WORK … like actually ZERO OF THEM. With my amazing deductive powers I deduce that this means…

1). I just haven’t bought, downloaded, installed and tested enough plugins, sorry. That’s why i asked in the first place.

2). No plugin developer has ever cared about HTML5 and so nobody has any clue what’s going on

3). There is an issue in the HTML5 build process which causes a crash when it tries to include any external plugin


(If this is, however, just an obtuse way of resolving this question, I guess I’ll take that as it seems there are people working on it from both ends and nothing much more to be done here)

(Ah see below)

Ok, so according to LowEntry:

It seems to be that UE4.12 + HTML +
any code plugin gives linker errors
when packaging for HTML with 4.12. It
seems like you either have to use 4.11
or wait for 4.13 and hope they’ve
fixed it there.

Unfortunately i got the same error in 4.11 when i downloaded it and tried it, so I tried 4.10 because why not, and that also failed.

Hey, any that you could zip up the project you modded this way? I would be interested in playing around with that myself and see how it behaves when packaging to HTML5, but I don’t know how UE4 plugins work and how to add them to a project, so a zip of an existing project would be a great starting point.

Plugins aren’t part of the project files, they’re part of the engine. So even if I zipped up a project they wouldn’t be included. These are all totally blank projects anyway. Installing a plugin is extremely easy however:

  1. Click on the marketplace
  2. Click on the categories tab and select code plugins
  3. Scroll the list until you see a free one, click on it, click on the FREE button
  4. It automatically installs to your most recent compatible engine version
  5. You can then use it as part of the engine and you’ll see it under Project Settings->Plugins, and you’ll also see it listed in your Vault where you can install it to any other compatible engine version. Almost all code plugins have some blueprint interfacing as well.