I need to “merge” in some way a big application (with UI) and the output given by UE4.
The idea is to send commands from the app to UE in which they are executed. Basically the commands will be either a start/stop for a sequencer or a level change. UE will be the graphical engine and the app is the brain.
If anyone has pointers to give me, I’m a bit lost…
Note: I do NOT want to use Slate because that means changing my big application.
EDIT:
Maybe the best way to describe what I want to do is the following:
I want to use the graphical renderer of UE4 inside another app (my big application).
I want to be able to launch Sequencers, triggered by the user (via buttons in my app).
This can be done by so many ways, you can read what is possible in windows here:
But most straight forward and universal way is to simply use TCP/IP networking via sockets. Make a listen socket on UE4 game and connect to it to app (you can use loopback IP address 127.0.0.1 which will work even on hardware without network adapter). Then you just send data of you desire, you can use anything bytes, text whatever you like. Here tutorial on sockets on wiki, but wiki currently is bugged so code formating messed up, but you can loop it up in “View Source”
There also pipes mentioned in first link you can use anonymous pipes using FPlatfromProcess and CreatePipe and close with ClosePipe
Is it possible to merge the two applications into a single one where unreal has only access to a canvas?
The goal being to avoid using TCP/IP or IPC, using only in-app commands. You can see a rough example of what I mean below.
I’ll do this using plugin like the AJA or BlackMagic plugin (for sdi) and re-route the output to a DirectX shared resource. I’m currently doing this implementation and hope this will work.