Create a desktop application with UE4

Hi, I am considering building a desktop application based on UE4, but it is not clear to me at this point what I can and cannot do:

  • Ideally, I would need to use the same tools as the Unreal Editor is using to build its own UI (i.e. create windows, menus, toolbars etc…). Has UE4 its own UI system for this or is it using Qt or some other framework? I am also fine to use Qt if this doesn’t conflicts with UE.
  • Should I consider using Qt instead? If so can I still embed UE-based content in my Qt windows? Is this documented anywhere?
  • Is there any documentation/starting point? Or do I need to dig myself into the Unreal Editor code and suffer to find all that I need?
  • Which licensing does apply in this case since the end product is not a game?

Let me precise I am not looking for a solution based on Slate/UMG, I need to make a desktop app.

Thanks!

You contradict yourself, first you want to know if there is UI framework in the engine, and then you say you do not want to use it.

UI framework is Slate, you build windows and controls with Slate UI, which is C++ code.
UMG is not the same thing. purpose of UMG based UI isn’t there to for C++ coding but for UI design in editor with scipting support.

so what you want is Slate UI, to build desktop application.
You mentioned Qt, which I would not recommend to anybody (it’s the one of the oldest GUI libs out there and code style is far to ugly and far anything else just not C++)

Slate UI is there to build UI in game, but that doesn’t mean you can’t build desktop app with it.

However I would rather use Winapi to build GUI program, if GUI program is big then MFC.

Otherwise if you’re just looking for a good GUI library, then you’ll get many opinions, and my opinion is that all GUI libraries suck. but if I had to choose I would chose wxWidgets.

@metablaster Thanks for your reply, I didn’t see it until today though :slight_smile: Anyway, yes my speech was a bit confused as I didn’t know how things were layered in the UI. As we can use UMG widgets and also build custom ones using Slate, I think I am fine using these, basically UMG for most things and Slate for what I cannot do with built-in UMG controls.

Qt is a great C++ GUI framework. It would be easier to destribute your application - just single *.exe file. Buf for static builds you will nedd to build Qt library and dependencies from sources as a static libraries. Qt has a greatest documenation I’ve ever seen. There is a license, but it is fine. Just study it carefully. Qt can import Photoshop designs directly. Qt is very cross platform. The project is being compiled more quickly. Qt has much better documentation and examples of the code. You can develop GUI using JavaScript:

Qt and UE cannot be compared. Qt is a greatest GUI framework(better than any Java based).