[PLUGIN] RadiantUI SDK - UIs, HUDs, Interactive WebViews - HTML5/Javascript/CSS

Hey , having a bit of a problem, I don’t think I’ve done anything differently, but when I start up a packaged build, it throws this error: RadiantPackagedError.png

Any idea what it could be? Weirdly, I can press ignore, it pops up 3-4 times, then the program runs fine with the hud working and everything…

,

Just a heads up, you might want to add the Packaging Tutorial video to the website. If I hadn’t stumbled across it here while looking for packaging instructions, I’d have been lost and confused. :slight_smile:

Edit:

Seems that after packaging (with Build Configuration set to Debug, of course) it wouldn’t display my test HUD unless I manually copied the WebUI folder to the stage’d Content folder. It wasn’t Pak’d? =/
Not really a problem, I suppose, I just expected the WebUI folder to be packaged up or something.

Thoughts?

I’ll add it.

That should be noted in the video and I do copy it over as one of the steps. Unreal doesn’t package the directory right now, it doesn’t package anything that is not a .uasset file. That won’t be possible until the engine supports the ability to pak arbitrary files in a future release.

This looks like a bug, I’ll fix it and get another build up, one thing to note though: It looks like you packaged the Debug version of your project, if you change the packaging configuration to development or shipping you shouldn’t get that error.

It means I’m not handling a particular file type correctly and I should be defaulting unrecognized files to text/plain but I’m not (bug). Just curious: I’ve got mime types for html, png, jpg, bmp, css, javascript is there another kind of file you are loading/referencing in one of your pages?

Yeah, I figured it was something like that. Either way, thanks for an amazing product. Keep up the amazing work! :slight_smile:

I’m really interested in purchasing Radiant but had a few questions regarding it.

First off, how is the WebActor’s material handled. Is there a new node that is added to the Material editor? Am I able to include a browser in a material and affect it using nodes such as TexCord, or multiplying it against a Vector3 color, etc. Basically, am I able to adjust the browser through the material editor, or is it some sort of set specific material that can not be modified.

Second, what are the benefits to Radiant vs. Coherent or other HTML UI solutions. Is there anything unique about Radiant’s implementation of WebKit, is there better ease of use, etc.

Thanks! :slight_smile:

The material is a standard UE4 material, you can use any material you want as long as you add a texture node to it that is named a special name, the system will look for that input and set the texture input by that name. You can look at the materials supplied in the SDK (they are very basic and easy) to look at the input exactly. You can scale and modify the UV’s, just keep in mind that UV warping on the GPU isn’t reflect in the input side of things: the UV coordinates on static meshes are used to figure out input location on world actors, so material specific UV effects can be done as long as you aren’t trying to interact with the object OR your UV warping is minor enough not to cause oddities on input (like a mild warping or sine wave would be fine).

I have not ever used Coherent UI however it supports more platforms than Radiant (Mac, Linux, Mobile) but it significantly more expensive. I’ve been told by a number of licensees who have evaluated both that RadiantUI is superior (more feature rich, easier to use): edover (posted above)

RadiantUI input systems “just work” automatically, it supports interaction with any kind of UV’ed static mesh (which is a unique feature of RadiantUI). RadiantUI also comes with source code, but is currently confined to Windows 7. I intend to support Mac and Linux but I have no time table right now. 's WebUI is a free solution but lacks the same polish and feature set (however it is free, comes with source code, and may support more platforms).

Thanks for the quick and lengthy response. Mac support is important to me but may or may not be feasible based on my plans, but your intention to support it is enough for me. I’ll definitely pick this up soon then.

You’re right, I switched to a development build and it went away. In terms of file types, I didn’t create the page myself, but I had a look at the folder and I can see a .woff font file, and a few .svg’s.

Edit: I had a go at making a shipping build, but it doesn’t seem like RadiantUI is working, the game runs, but there’s no HUD. Could this be to do with the fact that it’s 32-bit? Or is there some other step I need to take?

Quick question, how are we to gracefully change HUDs at runtime? It seems to completely reset when opening a level.

I attempted to [Get Game Mode]->[Cast]->[Set HUDClass] to a second HUD I created, but on the subsequent [Open Level] it immediately uses the old HUD (I assume since this is is set to the Default HUD in the Game Mode).
However, I just called [Set HUDClass]. Does Opening a level reset everything back to the game mode defaults?

In fact, before I post this, I just made another quick test, where I (In the First Level Blueprint of Begin Play) check the HUD against the main menu and change it to the ‘game HUD’ and it still sees it as a ‘mainmenu HUD’. I’m so lost…

Hopefully since it’s 2am, I’m just doing something stupid and I can edit this tomorrow with a solution, and just admit I’m a ***** for staying up so late to code. :stuck_out_tongue:

Yeah - 32 bit builds aren’t supported.

Probably… honestly I don’t know, this is somewhat outside of the scope of the plugin itself: UE4 tears down everything between level loads, except when you use the “travel” method which moves an actor to another level and some actors can persist into the new level.

Generally it’s probably not a good idea to have any state persisted inside the WebView since none of it will exist between level loads or save/load games etc.

There are still parts of UE4 that I’m unfamiliar with and exactly what happens during level transitions is one of them, but I’m pretty sure all of your actors go away. I know there is a way of storing data persistently across level loads but you may not be able to do that purely from blueprints.

As you said, using Open Level completely bonks out every other blueprint, making them all call their constructors. Even using ‘travel’ from the console doesn’t really help.

The solution I came up with was to put every Web View into a single HUD then have each Level’s [Begin Play Event] call a function called ChangeHUD (inside the HUD itself) that takes a single string argument (The level name in this case). The function then loops through each of the HUD’s ‘HUDElement Instances’ and sets their visibility to none, before checking the string and setting a specific HUDElement Instance to visible. As for passing more data around between the levels, such as the user’s sound options, for example, I’m working on creating a Singleton in C++ that I can use in the Project’s Singleton Data class. Hopefully that will help things out but I may have to come up with a creative solution for that sort of thing too…All else fails, my backup engine is WaveEngine.

I’ll admit, I was extremely frustrated to find all of this out, but I’ve come too far to let this engine beat me! shakes fist And I’m dedicated to using Blueprints at least for 99.9% of the project because it’s fun, dammit!

All that being said, thanks for A) The amazing product and B) Actually monitoring the forums for support. I’ve seen too many people offer a product then stop caring once they’ve got their money. I hope you’re making a boatload of cash because ****'d if you don’t deserve it.

Thank you for the kind words! Don’t give up on UE4, there are systems for doing what we’re talking about we just have to figure out what they are. It’s a world class engine!

Hey ,

Any idea if this will ever work on mobile or html5 builds?

Probably not, it depends. I personally don’t have a project that is targeting mobile.

No worries, boss’s wanted to know is all, thanks :slight_smile:

I can definitely see it happening eventually, after Mac and Linux. It’s hard to predict timeframes though.

android supported?

Hi :
Dose this plugin supports android?

I’m kind of chomping at the bit to buy this, so even though I’ve fired off an email inquiry to , I’ll ask here as well. If anyone currently using the engine can tell me, I’d be grateful:

Is the “source” included the full source? Not just the UE4 side, but the DLL as well? It’s using Chromium said, but I’ve no idea what that implies. It’s using a Google DLL only? Two dlls?

I like the looks of the HUD class, but here’s what I want to be able to do - load up a bunch of UIs at startup, but only show them as they are used (and have the non-visible ones not be ticking over). Also, I want to be able to layer the UIs, so for instance show a multi-element HUD with a window on top of it. Optionally, I want the overlayed element to be modal or not, depending.

Now, that’s probably too much to ask out of a simple Blueprint component, but that’s fine - I’m doing most of my work in C++. Just want to know how feasible that is with the base systems.

Thanks guys, I’d like to have a working UI system. :slight_smile: