C# Scripting Support

@EntrpriseCustomr

Those arguments that the Unreal’s team has been using about “C# in Unreal would be nothing like Unity” is not a valid argument for me… If anything its a prove that adding C# to Unreal would easy up even more the transition for those developers since there are so many different things they have to learn that at least the language is something they already do know. The main point here is that C# is becoming “the standard” for gameplay logic and “high level” systems in games today, with pretty much ALL engines supporting it besides Unreal. IMO C++ is not for gameplay logic and BluePrints does not appeal to developers as much as it does for designers.

I’m a Unity developer for 10 years now, and I’ve been using Unreal for a couple projects in the past 2 years, and I still struggle to find my way into the engine and I really dislike having to rewrite my BPs in C++ when performance becomes an issue, I simply hate the C++ workflow, it’s slow, messy, and those Unreal Macros are just “trash” in the middle of my code that I just can’t remove, they are as much “magic” as the “update” methods in Unity and they are as hard to understand as the “tick” methods from cpp…

I’ve been fiddling with some new game engines in the past months and CryEngine has been a breeze to learn after they added the C# support and Godot is just becoming my favorite engine now that C# is a thing (I just wish it had half the features unreal has) and all of them use C# in very different ways than Unity (but when you change engines you expect some learning curve anyway). BTW, the Godot team has publicly mentioned that adding C# to the engine was actually not that complex, specially because Mono is a great and well documented tool and now that .net5 is here, open source and multi-platform (supporting even html, ios, android and you refrigerator) there’s not a big argument against it (lets remember that the Godot team that did it was a 1 man party… Unreal would have infinity budged to make this integration happen at the BP level in prob. a couple of months).

Also, I have a ton of libraries that I’ve built along those years for Unity, specially when it comes to online features (and multiplayer) that I can pretty much use unchanged on Godot. Also, it allows me to share code between my back-end website (written in asp.net core with a custom CMS and logs dashboard) and my game logic, which for me is a enormous time saver, specially cuz I’m still an indie developer… I want to see someone write web servers (and even some simple mp game servers) in c++, because it sounds so insane (and also the C++ code from unreal can´t be used outside of Unreal… There’s no point in that, so expect no code sharing anyway).

So my point is, Epic has really no good argument not to add C# support other than “we don´t like c#” which we know is not true, since they already use C# in the build systems for Unreal (have you ever cloned the Unreal source code? They use C# in there).