Use C# to script in Unreal Engine 4 now, courtesy of

I doubt many people would consider it a “failed” language. It is widely used in a number of domains. C# is a higher-level language that is certainly not well suited to some tasks, such as (as you point out) writing low-level code like device drivers. But, it’s a pretty decent language for writing application logic. It offers a nice middle ground between low level languages like C and C++ and higher level interpreted languages. It is certainly no slower (and is probably faster) than Blueprint in UE4.

C is the best language traditionally for embedded work because it’s low-level and low-overhead while being far more accessible and portable than assembly. Embedded systems programming is generally very resource constrained, and the overhead of a runtime component or interpreter is generally far from trivial. It’s hardly comparable to game development on modern computer hardware.

Is “C is the best language out of them all”, though? Hmm… Is it important? Yes. Should you learn it? Absolutely. Whether it’s best depends on what your’e doing. There are many tasks where it is most certainly not best. If it were, we’d all be using it for everything.

I hear the price of tea in China is running quite high.

What most Unity developers complain about is not having a language that compiles to platform native code and/or not having access to the underlying C++ code of the engine. Nobody’s looking for “C++ scripting”. Honestly, most of them don’t need access to the engine code or the ability to write platform-native code, but the ones who do are in a bad situation.

In terms of Unreal, C# wouldn’t be a replacement or even a competitor to C++. It would essentially be offering a way to do the application-logic programming that many people currently do in Blueprint but using a textual language.

Though I’ve done C#, I couldn’t see myself using it with UE4. Despite that, I can’t see it doing anything but helping the platform.