[Plugin] RadiantUI WebUI Plugin

This looks great. I don’t need UI yet, but when I do I’ll definitely be trying this out.

Great job! I posted yesterday before the thread was rolled back due to the data corruption. We actually have a backlog task to integrate a browser into the editor and launcher, for many different uses, but mostly drawing browser pages in Slate as well as routing input (nothing in the 3D world like your plugin.) We haven’t started on this task yet, but I can see us hopefully having time within the next month or more to start looking at it more. To start we’d just need desktop platform support for a solid web engine like Chromium. I’d love to hear more about your experiences with CEF3.

I’d be more than happy to share my source code with Epic if that’s useful.

I think the big task with doing this the Epic way is going to be the multi-process nature of CEF3: shipped builds of games are very clean and statically linked right now, and I’m guessing that launching a process per web-page isn’t something you guys would want to do. CEF3 does have a flag to launch in single process mode, but loading anything over the wire becomes very slow. The first thing I’d probably do is download Chromium and build it and figure out why that is. Also single process mode is not officially supported by the CEF team, and isn’t guaranteed to be stable. This adds maintenance problems if custom changes have to be made to fix this. It might even involve contributions back to the CEF team somehow to make the mode work the right way, but that’s probably the first big step: getting CEF3 running inside a single process, and statically link it (it has other dependencies on other frameworks like D3D on windows etc, and you have to pack those DLL’s with it, also a possible MSVC SxS configuration issue for installation targets).

The other challenge, assuming you’d allow “local” html to be rendered into a slate rendertarget is going to be packaging non-uasset webcontent (basically a directory right), into a uasset so it can be packaged. Or maybe the build commandlets can be modified to just move those files over and pak them. I know there’s a feature in the works there to stage a directory specifically. Something like that is probably what is wanted, except it should be pak’ed as well.

Beyond those hurdles CEF3 is a great rendering engine, and it’s fast. One of the things I want to do is figure out how to get uassets to render inside a webpage inside unreal in my plugin. Full seamless integration would be amazing. Currently doing anything really fancy, like say a character creation screen or portrait would have to be done with trickery, like overlaying WebViews around engine viewports to fake it looking like an integrated thing. Having an HTML5 canvas object that could render a UStaticMeshComponent would be pretty badass.

BTW I’m not sure if this was clear or not from the videos, but I already render webviews into slate (essentially) including input from slate feeding into CEF3.

RadiantSDK Beta Released

The RadiantSDK beta version has officially been released. Visit to see the tutorials and buy the SDK.

$99 - Single User License, Source code is included.
$1999 - Site License, Source code is included.

NOTE: All future version and upgrades are included in the one-time purchase price. Buy it once and get all future updates.

Very reasonable pricing, thanks.

Quick question: How is the single-user licence controlled? Is it node-locked to a single MAC address?

Only reason I ask is, I do a certain amount of development at work, and often at home too. Would I need to purchase a separate license for each seat, or can I use my same license on both machines?

The license is bound to you not to your computer, feel free to use it on any machines you personally own.

There is no communication sent from the plugin at all, I have no way of knowing if you are actually honoring that.

Very trusting of you! Will be putting in an order this evening!

Looks awesome but while you’re working on this, why use CEF3 when you know it doesn’t support mobile platforms? Transitioning to something that supports mobile will cause a lot of extra work no?

This isn’t exactly a deal-breaker. We need to learn more about it though. Currently we only have a need for this feature on desktop platforms, which is why I think we could tolerate spawning a process per web page. We want to use it with the editor to display web content for things like inline tutorials or news feed details, and also in the Launcher for rich presentation of marketplace content. I was also thinking we could use it to help round off a rough corner with our Facebook and (upcoming) Twitch integrations, which usually require browser-based authentication. Currently we need to eject the user to a desktop browser to authenticate, then we “scrape” the auth token from the browser title. It is less than elegant, and including a built in browser that we can present through Slate UI would be much more seamless.

This is nothing too difficult. We use .uassets for Slate UI now, but a previous incarnation of Slate only supported raw .png files for in-game textures and the packaging system was equipped to locate and copy those files into the user’s distribution. If we bring that feature back I’m sure it will have a more generic setup such that it could be used for this.

Congrats on the release! :slight_smile:

Hi ,

Based on that it sounds like there should be no problem integrating it, and it should be relatively painless. Would this work in packaged build or just in the editor?

Also I think a number of types of plugins could benefit from the packaging of free files.

Let me know if there’s anything I can help with.

At first only the editor and Launcher, no packaged build support needed. But I could see that packaged desktop games would want to be able to use the feature too, but that is not our priority at the moment.

Great. We’ll follow up after we have more time to discuss here.

@

With integration of CEF3 and the upcoming UMG, do you think there would be a case where UMG could dynamically load data from a web server such as formatted text and such? This would be great for things like the EULA that can be updated rapidly on a web server and called as needed including all applicable localization and all that.

I’m sure we would be able to support that!

Hey !

AWESOME product! Well, awesome looking anyway! I, however, can’t get it to work!

I followed the setup tutorial, but unfortunately, I can’t get any webviews to actually load. When I start the game or just simulate the blueprint, it just sets the material to the initial canvas color property. I’ve tried several external and internal sites and HTML files, but nothing loads.

7e3b3b5134.jpg
6afee87ef3.jpg

Any idea what might be going on? Thanks :slight_smile:

Sorry to hear about your troubles. Is your project small enough to zip and email to support @] radiantsdk.com?

If you think it would help I could make a small project reproducing it, but I doubt it think will help any. Even the example project packaged with the SDK has the same issue for me. None of the webviews will load.

Edit: If it helps any, the cursor does appear on the surface of webviews and can be moved, so it IS rendering, the pages just won’t load.

I bought myself a license and I’m very impressed. I’m able to use our highly complex HTML5 webapp which uses offline storage techniques like IndexedDB and more. Videos, animation all play very nicely.

Now I just need the plugin updated to Unreal Engine 4.3 please.

Ok that definitely reveals the nature of the issue, which is that the CEF process is not launching… What directory have you put the SDK project into, and what computer, OS etc do you have?