How to package standalone programs in UE4

Hello! I’m currently building a slate only standalone application to act as an entry point for managing and launching the real game in a non-graphics heavy manner (for things like managing quality and resolution without worrying about a bricked game that can’t make it to the options menu). I’ve been successful in building the app, however I’ve run into a problem. I started by forking slateviewer/unrealfrontend and since there’s no editor launch, I’m unable to launch my executable if it leaves the Win64 folder (I have built UE4 from source). I’ve tried looking through docs and here’s a couple links I found:

https://forums.unrealengine.com/community/general-discussion/44353-form-applications

All to no avail. It won’t launch if I move the Win64 folder, or if I go back to move the Binaries folder, or even if I go back and move the Engine folder it all breaks, but it launches just fine if I leave it where it sits.

The real question: How can I package this program as a standalone slate program? Would I be better off stepping back and just doing this part through QT? Is this something I should do through Visual Studio, or as I suspect a build/targeting issue? As an extension of that, are any of the Programs like slateviewer or unrealfrontend able to be run standalone? If that last one can be answered, I suspect mine will be.

Thank you for any and all help.

I never did stand alone programs but here hint based on how i understand engine works and looking on the source

You need to maintain same folder structure, you wont escape it because those programs still works under UE4 core which operates in same as int the game. Remeber that with exe you also need to move dll modules for your exe if there is any (and if you got LinkType = TargetLinkType.Modular in target you will have them). Also make sure that you do shipping build. Looking on launcher which also build from UE4 core, you also need to place some dll Microsoft runtime dlls in binary forder, look on launcher in general

You might try to move program to the game project so it’s build there, i don’t know if this gonna work but it a worth of try (you probably will need to add uproject location in command line if you do it, but maybe project generation will see it and you can build it in VS)

Now i tried to isolate UnrealFrontend to seperate directory and i notice there a *.target file for it and inside you got all depencies listed in. including all dlls, note that UnrealFrontend requires also some plugins in there location. I was able to make program runnable to level that least it now shows error boxes, but now it seems to complain about missing packages. Now front end is have related to editor and requires lot of content from it, i dont know what you did but if you got more stripped down program ( i hope you not just coming frontend)you might have better results.

Thanks for the reply! I built as shipping and tried moving the entire engine folder as to keep all dlls and such in place locally, but it still would not launch. I’ll try your suggestion on pulling in the other runtime dlls, but adding the launcher as part of the game would be regretful as I also want it to act as a updater and other utilities. That’s why if this doesn’t work I would move to QT, which is fine since all my utilities would still work as I wrote them in neutral c++. I only wished to use slate since the UI Styles I use in-game could also be used in the launcher.

Remeber that you can not use any editor content, i think it includes it’s UI graphics

Yea I tried several different ways with just slate viewer so anything I may have coded wouldn’t have an effect, but not luck. I’ll look deeper into it after more important things get worked on.

Were you able to get a standalone application packaged ?

I had a try , it possible get a standelone application without engine. But I also need more help ! more information about ‘Build Tools’ Like ‘BuildGraph’.

Hope this help GitHub - SkecisAI/UE-ProgramBrowser: Create, Build, Pakcage a Unreal Engine Standalone Application.