Don’t I know you from Unity forums?
Yes. Macro preprocessor, manual resource menagement. Concepts like RAII don’t exist in C#, there’s no multiple inheritance in C#, no protected inheritance or friends, templates are more complex and more powerful than generics, etc. Looks very similar on the on the surface, till you dig deeper, then there’s little in common.
UE4 does decent job of making things simpler (by introducing limited garbage collection for objects of specific ).
So, while as a language C++ is significantly more complex than C#, you should be able to get by with C# skills for the purposes of using UE4 only, because UE4 has made some extensions for the language, and attempts to simplify things.
If you ever dare to go pure C++ route (not just for UE4, but general-purpose programming), however, C# skills probably aren’t gonna cut it.
They aren’t exactly SLOWER, but they’re geared towards non-programmers, pretty much.
If you’re already an experienced programmer, there’s chance that you’ll hate them.
Theoretically, yes, but it will be a major pain. Kinda like writing a game engine in brainf*** (there’s language like that). There are pieces of code you really want in C++.
Since you appear to be someone I met on unity forums…
Your main problem will be inferior animation retargeting system (there’s no Mecanim for UE4), and very different object hierarchy. Engine also cause you loads of grief if you try to use root motion-based movement for locomotion, unity style.
Unity object hiearchy is significantly simpler to start working with. In UE4, something like “let’s spawn object in content browser” or “let’s generate a mesh” can be very difficult. Documentation is also very scarce. A lot of time you’re hunting for pieces of the information with google, digging through forums and answerhub, followed by dive in the source code.