There is a lot of information on how to compile Unreal Engine using QtCreator, but I was wondering how hard would it be to have the game itself play inside a QWidget in a full Qt standalone application. That would mean that Unreal Engine takes over the drawing area of the widget, and handle mouse and keyboard inputs that have this window as target, but the main UI thread still belongs to the Qt Application. The idea is to have a 3d viewer inside my Qt application with the power of UE4. I’m developing for Linux (Debian) by the way.
Thanks for any help!
Hey! i was wondering fi this was possible as well. Did you find some answer to this?
I would be interested in finding out an answer to this question also!
Bump – I’d also like to know if this is possible.
UE4 uses SDL as a back-end on Linux, so in theory if you are able to find a way to pass the QTWidget’s system window handle down to SDL or have SDL draw to an offscreen window and then copy the framebuffer (shared GL texture) over to the QTWidget, it should be possible. However the work to be able to do this with UE4 would be quite significant and there will be plenty of unexpected issues.
If you are simply interested in having a GUI application with a 3D viewer running inside a widget and not specifically tied to QT, then I would suggest taking a look at Slate in UE4 and use the SViewport widget. This is the toolkit that is used in the UE4 Editor.
It’s a pretty big commitment to learn and support a proprietary UI toolkit just to have a decent 3d viewer in a pro app; the viewer may be the centerpiece, but a real app has a lot of screens and a lot going on, and Slate, as a C++ toolkit with no rapid prototyping (e.g. python or HTML/JS) doesn’t seem very productive. I’m also concerned about themeability. Admittedly I’m still looking in from the outside so I don’t really know yet. But that may be the only/best way to go, so I appreciate the pointer!
the same question
I am also want to do this. we have a project to use UE4 to render our building modules,。 our app is very large so must embed ue4 as a plugs. is there any way to do this?