# Why C++ for Unreal 4?

**URL:** <https://forums.unrealengine.com/t/why-c-for-unreal-4/2311>\
**Category:** C++\
**Tags:** unreal-engine\
**Created:** [April 10, 2014, 4:14am UTC](https://forums.unrealengine.com/t/why-c-for-unreal-4/2311 "2014-04-10T04:14:36Z")\
**Posts on this page:** 20\
**Page:** 23

<div class="post-metadata">

**Author:** ![The\_E](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@The\_E](https://forums.unrealengine.com/u/The_E)\
**Post date:** [September 8, 2014, 6:29am UTC](https://forums.unrealengine.com/t/why-c-for-unreal-4/2311/455 "2014-09-08T06:29:54Z")

</div>

C# is non portable.  
That is it.  
It is that simple.  
[/]

I’m sure the Mono and Xamarin people are devastated to learn that what they’re doing is impossible.

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_7af3b797](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_7af3b797](https://forums.unrealengine.com/u/anonymous_user_7af3b797)\
**Post date:** [September 8, 2014, 9:16am UTC](https://forums.unrealengine.com/t/why-c-for-unreal-4/2311/456 "2014-09-08T09:16:28Z")

</div>

[=EruArnold;136298]  
Sorry guys - last one before I leave…

 ![UE4P.png](https://d3kjluh73b9h9o.cloudfront.net/original/3X/c/f/cf9ab4ce3ab2cb903c79a4010b4b3ab9957fb22f.png)

 ![UE4P.png](https://d3kjluh73b9h9o.cloudfront.net/original/4X/c/2/b/c2b512fc939b72daf4427ca8b41e9302e3d3e2f1.png)

Hmmm…

(Just had to…)  
[/]

Which part you don’t understand?

---

<div class="post-metadata">

**Author:** ![caner\_ozdemir](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@caner\_ozdemir](https://forums.unrealengine.com/u/caner_ozdemir)\
**Post date:** [September 8, 2014, 12:08pm UTC](https://forums.unrealengine.com/t/why-c-for-unreal-4/2311/457 "2014-09-08T12:08:40Z")

</div>

[=The\_E;136532]  
I’m sure the Mono and Xamarin people are devastated to learn that what they’re doing is impossible.  
[/]

Mono is over.

---

<div class="post-metadata">

**Author:** ![The\_E](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@The\_E](https://forums.unrealengine.com/u/The_E)\
**Post date:** [September 8, 2014, 12:22pm UTC](https://forums.unrealengine.com/t/why-c-for-unreal-4/2311/458 "2014-09-08T12:22:45Z")

</div>

[=caner\_ozdemir;136738]  
Mono is over.  
[/]

Really? That’s quite astonishing news, given that the latest Mono release was [on September 4th](http://www.mono-project.com/news/).

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_8bc0348b](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_8bc0348b](https://forums.unrealengine.com/u/anonymous_user_8bc0348b)\
**Post date:** [September 8, 2014, 2:04pm UTC](https://forums.unrealengine.com/t/why-c-for-unreal-4/2311/459 "2014-09-08T14:04:51Z")

</div>

[=;136599]  
Which part you don’t understand?  
[/]

The par I quoted you in that reply, about C# being somehow “less portable” then C++, given that Unity supports many more platforms than UE4 does…  
You see the contradiction?  
Your view is that C# can’t run in other platforms.  
Reality shows that it runs on more platforms than your beloved C++ engine does…

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_7af3b797](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_7af3b797](https://forums.unrealengine.com/u/anonymous_user_7af3b797)\
**Post date:** [September 8, 2014, 2:59pm UTC](https://forums.unrealengine.com/t/why-c-for-unreal-4/2311/460 "2014-09-08T14:59:31Z")

</div>

[=EruArnold;136835]  
The par I quoted you in that reply, about C# being somehow “less portable” then C++, given that Unity supports many more platforms than UE4 does…  
You see the contradiction?  
Your view is that C# can’t run in other platforms.  
Reality shows that it runs on more platforms than your beloved C++ engine does…  
[/]

You really don’t understand the point. The point being not to which platform you can deploy your game but on which platform you can run your engine.  
Let me shout it to you:  
C# **IS NOT PORTABLE**!!! GET IT!!!

---

<div class="post-metadata">

**Author:** ![The\_E](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@The\_E](https://forums.unrealengine.com/u/The_E)\
**Post date:** [September 8, 2014, 4:24pm UTC](https://forums.unrealengine.com/t/why-c-for-unreal-4/2311/461 "2014-09-08T16:24:06Z")

</div>

[=;136878]  
You really don’t understand the point. The point being not to which platform you can deploy your game but on which platform you can run your engine.  
Let me shout it to you:  
C# **IS NOT PORTABLE**!!! GET IT!!!  
[/]

Are you using some weird definition of “portable” that the rest of us is unaware of? I mean, usually it’s defined as “can be run on multiple platforms”, something that C# code can do due to the valiant efforts of Mono.

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_7af3b797](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_7af3b797](https://forums.unrealengine.com/u/anonymous_user_7af3b797)\
**Post date:** [September 8, 2014, 4:30pm UTC](https://forums.unrealengine.com/t/why-c-for-unreal-4/2311/462 "2014-09-08T16:30:04Z")

</div>

[=The\_E;136921]  
Are you using some weird definition of “portable” that the rest of us is unaware of? I mean, usually it’s defined as “can be run on multiple platforms”, something that C# code can do due to the valiant efforts of Mono.  
[/]

And the results are very, very unsatisfactory with regards to performance. I already mentioned that in one of my previous posts.

And yes, from the discussion I am having with you and “the rest of guys like you” I see that you are unaware of many, many things.

---

<div class="post-metadata">

**Author:** ![DomusLudus](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/domusludus/32/1215140_2.png) [@DomusLudus](https://forums.unrealengine.com/u/DomusLudus)\
**Post date:** [September 8, 2014, 4:33pm UTC](https://forums.unrealengine.com/t/why-c-for-unreal-4/2311/463 "2014-09-08T16:33:51Z")

</div>

Answer to the Op and based in this unity page [http://blogs.unity3d.com/2014/05/20/the-future-of-scripting-in-unity/http://](http://blogs.unity3d.com/2014/05/20/the-future-of-scripting-in-unity/http://)  
C# runtime performance still lags behind C/C++  
Garbage collection can cause pauses while running  
C++ compilers and linkers provide a vast array of advanced optimisations previously unavailable.  
Fundamentally, it differs from the current implementation in that the IL2CPP compiler converts assemblies into C++ source code. It then leverages the standard platform C++ compilers to produce native binaries.

---

<div class="post-metadata">

**Author:** ![gmpreussner](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/gmpreussner/32/903591_2.png) [@gmpreussner](https://forums.unrealengine.com/u/gmpreussner)\
**Post date:** [September 8, 2014, 6:27pm UTC](https://forums.unrealengine.com/t/why-c-for-unreal-4/2311/464 "2014-09-08T18:27:55Z")

</div>

I’ll repeat what I said during the West Coast DevCon: All programming languages suck. They just suck in different ways 🙂

---

<div class="post-metadata">

**Author:** ![gmpreussner](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/gmpreussner/32/903591_2.png) [@gmpreussner](https://forums.unrealengine.com/u/gmpreussner)\
**Post date:** [September 8, 2014, 6:31pm UTC](https://forums.unrealengine.com/t/why-c-for-unreal-4/2311/465 "2014-09-08T18:31:01Z")

</div>

And by the way, programming in general [sucks](http://stilldrinking.org/programming-sucks) 😉

---

<div class="post-metadata">

**Author:** ![DomusLudus](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/domusludus/32/1215140_2.png) [@DomusLudus](https://forums.unrealengine.com/u/DomusLudus)\
**Post date:** [September 8, 2014, 6:46pm UTC](https://forums.unrealengine.com/t/why-c-for-unreal-4/2311/466 "2014-09-08T18:46:23Z")

</div>

I like blueprints 🆒 Btw you can think that programming in general sucks but you have to prove the vicious engine script, this a another level, regarless to my love to vicious engine multiplatafom support.

---

<div class="post-metadata">

**Author:** ![timconwell](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@timconwell](https://forums.unrealengine.com/u/timconwell)\
**Post date:** [September 8, 2014, 7:10pm UTC](https://forums.unrealengine.com/t/why-c-for-unreal-4/2311/467 "2014-09-08T19:10:37Z")

</div>

[=gmpreussner;136998]  
And by the way, programming in general [sucks](http://stilldrinking.org/programming-sucks) 😉  
[/]

Oh what a roller coaster this thread has been. Starting from mild curiosity, to entertainment, then dismay, pleading, turning into a deep self introspective journey into the ability of the human race to find common ground and find peace, the possibility of life on Mars, then back to entertainment and mild curiosity. That link there was about the best thing I’ve read in weeks. And let me tell you, I just read a SciFi book that was highly rated by over 2,000 amazon reviews which I believe I could have achieved better during my morning constitutionals by doodling on excess toilet paper, collecting the scraps, and shipping the collection to Random House Publishing. So, I needed that short masterpiece in writing in multiple ways.

---

<div class="post-metadata">

**Author:** ![VegasRich](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@VegasRich](https://forums.unrealengine.com/u/VegasRich)\
**Post date:** [September 8, 2014, 7:59pm UTC](https://forums.unrealengine.com/t/why-c-for-unreal-4/2311/468 "2014-09-08T19:59:57Z")

</div>

[=;136878]  
You really don’t understand the point. The point being not to which platform you can deploy your game but on which platform you can run your engine.  
[/]

What? If you can deploy a game to a given platform then the engine must run on that platform - or you can’t deploy your game to that platform. “Deploy” is not just “copy the files over and stare at them,” it is “install and run on a given platform.”

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_8bc0348b](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_8bc0348b](https://forums.unrealengine.com/u/anonymous_user_8bc0348b)\
**Post date:** [September 8, 2014, 8:29pm UTC](https://forums.unrealengine.com/t/why-c-for-unreal-4/2311/469 "2014-09-08T20:29:39Z")

</div>

[=;136878]  
You really don’t understand the point. The point being not to which platform you can deploy your game but on which platform you can run your engine.  
Let me shout it to you:  
C# **IS NOT PORTABLE**!!! GET IT!!!  
[/]

If so, I think you should give Unity-Technologies a call, and demand that they stop violating the space-time-continuum, with their (non-)existing business of (non-)existing hundreds of millions of game-installs on every platform imaginable, because this should not be possible according to your infallible-logic.  
Really, what they are doing is blasphemy, and they are risking the entire fabric of the universe, destabilizing the foundation of existence, with such empirically-inconsistent phenomenons…

Reality must adapt itself to your perception of it, it’s inevitable - I stand corrected…

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_7af3b797](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_7af3b797](https://forums.unrealengine.com/u/anonymous_user_7af3b797)\
**Post date:** [September 9, 2014, 7:09am UTC](https://forums.unrealengine.com/t/why-c-for-unreal-4/2311/470 "2014-09-09T07:09:35Z")

</div>

[=gmpreussner;136998]  
And by the way, programming in general [sucks](http://stilldrinking.org/programming-sucks) 😉  
[/]

Was laughing for more then I laughed for a long, long time. It is absolutely brilliant. 😉

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_7af3b797](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_7af3b797](https://forums.unrealengine.com/u/anonymous_user_7af3b797)\
**Post date:** [September 9, 2014, 7:10am UTC](https://forums.unrealengine.com/t/why-c-for-unreal-4/2311/471 "2014-09-09T07:10:36Z")

</div>

[=VegasRich;137037]  
What? If you can deploy a game to a given platform then the engine must run on that platform - or you can’t deploy your game to that platform. “Deploy” is not just “copy the files over and stare at them,” it is “install and run on a given platform.”  
[/]

You can’t even imagine how wrong you are.

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_689e935a](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_689e935a](https://forums.unrealengine.com/u/anonymous_user_689e935a)\
**Post date:** [September 9, 2014, 12:57pm UTC](https://forums.unrealengine.com/t/why-c-for-unreal-4/2311/472 "2014-09-09T12:57:39Z")

</div>

[=;137462]  
You can’t even imagine how wrong you are.  
[/]

Maybe you want to read this: [Forums - PC Perspective](http://forums.pcper.com/showthread.php?324134-A-List-of-Bad-Debating-Tactics-and-a-Recipe-for-Reasoned-Thought-ALL-READ-PLEASE)!

Amazing how many of those are found in your posts. But worst of all, what you’ve been doing lately isn’t even listed there, which is completely _refuse_ to debate. If this wasn’t the internet, you’d have been booed out of here a long time ago.

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_7af3b797](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_7af3b797](https://forums.unrealengine.com/u/anonymous_user_7af3b797)\
**Post date:** [September 9, 2014, 5:13pm UTC](https://forums.unrealengine.com/t/why-c-for-unreal-4/2311/473 "2014-09-09T17:13:22Z")

</div>

[=Gigantoad;137722]  
If this wasn’t the internet, you’d have been booed out of here a long time ago.  
[/]

Sure, by people like you who can’t accept the fact that they’ve made wrong choice and do not want to take time to learn something better. Agreed.

---

<div class="post-metadata">

**Author:** ![The\_E](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@The\_E](https://forums.unrealengine.com/u/The_E)\
**Post date:** [September 9, 2014, 5:34pm UTC](https://forums.unrealengine.com/t/why-c-for-unreal-4/2311/474 "2014-09-09T17:34:54Z")

</div>

[=;137850]  
Sure, by people like you who can’t accept the fact that they’ve made wrong choice and do not want to take time to learn something better. Agreed.  
[/]

There are two main ways two conduct a successful line of discussion in a debate. You either use superior rhetoric, or superior facts; and over the entire course of your engagement here, you have failed at providing or utilizing either. All you’re doing is repeating “I am right, you are wrong” over and over again. This only serves to prove one point: That you have a lot of opinion and nothing to actually back it up. Hell, there’s an entire company and thousands of developers out there who are very successful and whose main product is predicated on you not being as right as you think you are.

[Previous page](https://forums.unrealengine.com/t/why-c-for-unreal-4/2311.md?page=22)

[Next page](https://forums.unrealengine.com/t/why-c-for-unreal-4/2311.md?page=24)
