Epic Is Considering Adding an Intermediate Script Language to Unreal Engine 4
Big changes may be coming to the Unreal Engine 4, which may get an intermediate script language, according to Tim Sweeney.
Epic’s founder recently elaborated on the matter on the Unreal Engine subreddit, confirming that they are discussing the possibility and that they like the idea. He also added that they are not going to rush anything and that they would like some feedback from users.
We like the simplicity of C# but we don’t like the impedance mismatch between C#’s containers and managed runtime and C++ data structures. This makes it tough to share data between the C# and C++ world. UnrealScript had a much more direct mapping between the two worlds, yet still the burden of mirroring data was significant.
We love the even greater simplicity of Python but see similar issues there and are wary of dynamic typing. Lua is nice too.
There is also the possibility of a custom language, as UnrealScript was, that’s carefully crafted to interoperate with the engine and solve game focused problems.
Sweeney also talked about what Epic would be trying to achieve with this new script language in Unreal Engine 4.
A big question in all of this is: what problems are we trying to solve?
One problem is qualify-of-life issues such as the ease of typing in code, iteration times for code changes, and helpful tooling. Most of the scripting languages do well on this front.
Another problem is building bigger worlds and simulations. This is where things become very interesting, and the possibilities are less explored. Part of this is performance; if we can run gameplay code with higher performance then we can update more objects per frame.
The discussion seems to be rather constructive, so you can head over to the related Reddit thread to make your voice heard.