Why C++ for Unreal 4?

  1. Nobody is arguing with the fact that C++ is currently the most performant language for writing game-engines and game-editors - we all know that.
  2. Unity is written in C++ - both the game-engine and the game-editor - so it is not comparable to visual-.
  3. Unity uses an additional-layer for scripting game-logic of games made with it, just like any game-engine (except for UE4, for now…)
  4. C# is not meant to substitute C++ for writing game-engines or game-editors - not in Unity, and not anywhere (except for the arguably failed-experiment called XNA by Microsoft…)
  5. C# is used as one of the “scripting-languages” layer, for coding game-logic in Unity (instead of a visual-scripting language such as Blueprint or SnowDrop’s varient).
  6. C# might not be the best option all-around for this layer (hence LUA for CryEngine and now UE4, as well as the up-coming SkookumScript for UE4)
  7. This thread is not about “which language should game-engines/editors be written in” - it is about “which language should game-logic be written-in UE4, additional to Blueprint”.