The inbuilt GUI library in Python kinda scares me to think about re-implementing, mostly because UE4 has its own GUI system (UMG, which sits overtop of Slate) which probably works completely different from Tkinter from both a (UI) design AND API perspective. I don’t want to force either APIs’ conventions to work with each other if they happen to be different.
HOWEVER, if that did work, any python dev who knows Tkinter already knows how to write a program for the in-game OS.
Could be possible - Unreal does require
mono for the editor to function properly because Unreal Build Tool uses C# files for its build config files, but I’m not sure if
mono is required to install the engine itself (without the editor, build tool, etc) or how we’d go about hosting some sort of Roslyn runtime inside Unreal C++.
Still, C# isn’t that hard of a language to write, and we could literally just throw the user into vscode, vs2017, monodevelop or whatever their preferred editor environment is and they can code as if it was a .NET program.
Yeah, we don’t need anything to do with the DOM or any web crap inside a Peacegate program. We also don’t need more than the basic stuff in the language’s standard library because… Unreal APIs. Could just expose those. Moreover, event binding in Unreal is pretty simple to apply JS’s (honestly really nice) event syntax over-top of.
I kind of picture in-game JS’s APIs being similar to the APIs that get exposed to Blueprint in the editor.