I meant games unrelated to UE4 - general purpose launcher so to speak. I already have said launcher implemented in .NET with everything I want it to do, using Node-Webkit for the UI. A brainwave hit me about maybe using Slate, as it was stated before you can build standalone apps with it, too.
Hey Max - interesting topic as we are considering Slate for the redesign of our IDE. A couple questions:
- Is it possible to “package” Slate applications like you can games?
- Is it possible to make monolithic “Shipping” builds of Slate applications? I tried building UnrealFrontend in Shipping configuration and (1) I get lots of compile errors (not supported?) (2) it’s still making DLLs and not a monolithic app.
- UnrealFrontend loads an enormous amount of icons from the content folder - does it need them all or is Slate just always loading everything it might potentially use?
Thanks!
Still interested in answers to these questions btw. Epic Games Launcher for example is obviously a Slate application but is a single executable and does not seem to dependent on any UE4 DLLs. Is there a setting to compile any Slate application in this mode? Also is there any other packaging/bundling script used for Epic Games Launcher that would be helpful to use for custom Slate applications? Thanks!
It’s all done in the Build.cs and Target.cs of the program. You can also check out UnrealFrontend and SlateViewer, for examples. Of course, these programs still live inside the UE4 directory hierarchy.
Unreal Launcher also maintains the UE4 directory hierarchy, but it only includes the files and folders that it actually needs. We use a manifest file to determine what files need to be packaged, but this is not publicly available at the moment.
Thanks Max - figured out the monolithic build option (though ran into compile error (submitted pull request with fix) and program is crashing failing to find a UPackage - will look into that more). Very interested in that manifest system. Is it possible to get more information on how that works?
This will solve the problem