Why C++ for Unreal 4?

[=EruArnold;132247]
…IL2CPP…
Nowhere in this entire fiasco is “performance” ever mentioned as a major-factor…
So you can’t claim that they currently have performance-issues with the current C# solution - that is said nowhere(!).

[/]

Performance is mentioned on Unity’s site. It’s also mentioned elsewhere on their site and forums. If I’m not mistaken, one of the Unite 2014 conference’s keynote presentations also touted the performance benefits.

The benefits of IL2CPP](The future of scripting in Unity | Unity Blog), first item:


Performance

IL2CPP seeks to provide the ease of use and productivity of C# with the performance of C++.

It allows the current, productive scripting workflow to remain the same while giving an immediate performance boost. We’ve seen 2x-3x performance improvements in some of our script-heavy benchmarks. This performance boost is due to a few reasons.

C++ compilers and linkers provide a vast array of advanced optimisations previously unavailable.
Static analysis is performed on your code for optimisation of both size and speed.
Unity-focused optimisations to the scripting runtime.
While IL2CPP is definitely still a work in progress, these early performance gains are indicative of great things to come.

[=EruArnold;132247]
I have seen many treatments on this phrase - yours is the first I encounter.

I don’t even know what to label such an attitude… Looks suspiciously reminiscent of somebody just wanting to argue for the sake of arguing…
[/]

Those are only my thoughts. They don’t apply to and shouldn’t be construed as such. I don’t post for the sake of arguing. It would verge on irony to suggest otherwise. “Premature” optimization isn’t good. Indeed. My point is that I’ve noticed more people over the years invoking that statement incorrectly, as if to suggest that taking steps to improve speed should be relegated to an afterthought. Apologies for any misunderstanding if this doesn’t apply to you. For me and many others, achieving high performance starts from very beginning considerations, choosing wisely, over a continual process. “Premature” is relative. We’ll agree on that. One person’s gain could be seen as worthless or “premature” to another person.

[=EruArnold;132247]

Quite right - and 9 times out of 10 this 10% difference would come from non-game-logic areas…
So, you see… It’s not about just “performance” in-the-abstract, it’s about the question “where are most of the bottlenecks most of the times”.
And when it relates to scripting, you would be very hard-pressed to demonstrate that “this is where most of the bottlenecks are most of the times”…
[/]

Thank you for your thoughts. However, I’m fairly sure no one’s claiming that most bottlenecks are related to language itself]. The language/platform is a major factor nevertheless. Everything is potentially a bottleneck to older devices. Portability is very important too. I agree. Naturally, any language can potentially be as fast as C++. As far as .NET Native is concerned, it’s a wonder (no, not really) why Microsoft didn’t strive for that 7+ years ago. It’s better late than never for them.