But as far as I can see, none of them are really suitable for real game development.
**SkookumScript **seems almost abandoned, there is not even a UE 4.25 version.
Pretty much the same for UnrealEnginePython, which was kind of abandoned when Epic Games decided to implement they’re own Python “thing”, but sadly it only works for in-editor stuff.
**UnrealJS **seems actually promesing, but it doesn’t have 4.25 support neither.
What are your thoughts in this regard? Do you actually know of any developer that uses any of these? Do you know any other plugins or solutions for the mid-layer language problem?
I truly think that the main thing that Unreal Engine is missing is a mid-layer scripting language. It would speed up development A LOT!
There is also a studio who made animpressive AngelScript plugin for UE4, there seems to be a good documentation available, but the devs themselves recommend to be careful before using it in production, as they cannot guarantee future support.
About those you list, if I had to choose I would be more inclined toward UnrealJS, as it’s NCSoft behind it. So, serious company, using the engine for its own projects…should be maintained well enough.
Thanks a lot for your input! I’ve just read the anwsers from Tim, that’s really interesting. I’m sure that a scripting language will be introduced eventually, but I’m also sure that it will take some time (I’m betting we’ll have to wait for UE 5). Having something to work on right know would be awesome.
Also, I’ve read that the developers of the SookumScript have been acquired by Epic Games roughly the same month that Tim Sweeney started to talk about the scripting language in between. Coincidence?
That’s awesome, didn’t know about this one. I’ve just skimmed a bit through their website and documentation, which is actually pretty good! But the actual donwload page from GitHub seems to be removed somehow, or at least I didn’t find a clear way to download it all. Plus, having to compile the Editor from source is not something I would be willing to do (probably)… still very nice, I’ll look into it more!
If you want a lightweight runtime that doens’t have a bunch of “dangerous” external I/O, yet looks like Python, then Starlark might be an option.
It wouldn’t be exceptionally hard to build a binding between Starlark and UE reflection (basically, using the Blueprint interface.)
Starlark is also nice because it looks like Python, it has wide-ish support (Bazel, Buck, Delve, and other tools use it,) and it’s designed for embedding, rather than designed to do everything itself. It’s even thread capable, within reason, which is more than you can say about Python proper.
That being said, I think that a text representation of blueprint graphs that is diff-able, would be a bigger help. Worst case, just edit the text directly. XML with good linebreaks would be a start, but perhaps something even better could be done.
Magic Nodes…Best hope for scripting. Its still in development but its Epic grant funded. Get behind the project and support it!
Angel Script is interesting, but having to build it yourself, what’s the point? Magic Nodes will offer BP text-diffing / auditing / saving.
Many studios implement Lua.
It’s very easy to work with Lua in C++;
There’s a few things that I don’t like in Lua tho, so I have been working on my own compiler for a custom language I will design for my personal game project.
I want players in my game to code their own logic scripts, so I want a syntax easy to understand and specifically built for the Unreal Engine with both in-editor static compiler and optional runtime script compiler (for the game);
My goal is to implement something that feels like BlitzBasic for players and/or Blueprint scripting (with the “Magic Nodes” thingy):
And of course EPIC is working on something for us as well, so who knows, maybe something great is announced for Unreal 5!