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

I for one would like to see some support for C# and .NET in UE4. It would make my life a bit easier.

There is huge market potential for C#. Many developers prefer the productivity of C#, and many of them are installed in Unity’s share solely due to this. Unreal should show official support and buy/hire the project out, solidifying the stance on people on the fence of switching to Unreal. Many, many people will move from engines like Unity to Unreal because of Unreal’s great price model and C# support if they had to officially support it. C# is a massively widely used language in all fields.

I’m not sure how I feel about this. On the one hand it’s nice that people can use their current coding ability and language they’re familiar with, but it then also means causing a big divide in the coders that contribute to Unreal. It seems kind of pointless in a way, because aren’t those who make the switch to C# going to have to learn the engines code anyway? Surely it makes sense to learn C++ along with it?

I’m now worried that we’ll end up with loads of cross-code-platform projects and community things that will cause a divide and make it harder in the long run for people to learn. Not a fan so far tbh.

I think this is a huge opportunity for UE to increase his user base and community, a few considerations:

  1. The recent news at Unity (just check the blogs and forums) are creating a lot of worries from existing Unity users that might be encouraged to move to UE, and C++ or blueprints are a barrier to entry, especially for people who have invested several years in coding in C# for Unity.

  2. UE subscription is also a great deal for hobby developers, which in their day job most probably use Java or C#, looking at this statisticon job demands, there is 3 times more job requests for Java/C# programmers than there is for C++

  3. As i understand the project is currently free but you will need a commercial license to redistribute software as mentioned here, I believe the cost is the one mentioned here, that still makes it a better deal than Unity subscription

  4. Performance should not be an issue for game scripting, the 1000+ games published using Unity are a proof of that.

  5. Finally productivity, the reason on C# / Java success is due to its productivity vs C++ (even MS recognises that) and Xamarin Sketchespromises to improve even that.

At the end I am very happy about this news !!!


Good points.

But on the other hand I doubt that there will be marketplace content made with C# (i don’t think it will allowed), as it could create third party depndency on middle man in quality control.
What happen beyond marketplace is another issue.

They are teaching C, C++, Java but I think my lecturer a new guy they just hired is not too sure what he is teaching sometimes. I won’t have him in January.

Aah thanks for clearing it up. Those guys at Unity told me C# is a failed language bad because its a nightmare in Unity so I automatically assumed that this was the case. I figured a whole community cannot be wrong right?

What about Assembly Language and NOD 32? it has been widely taught that NOD 32 is the world’s fastest anti virus and lightest because its written in Assembly I even emailed ESET and they confirmed its assembly and also wikipedia also says this.
Is writing in assembly really that much faster and better?

I use ESET and its incredibly fast and light.

I suggest you move far, far away from that place; it’s toxic for your mind. First things first, entire communities can be wrong, and for that’d I’ll use my Godwin card here. Secondly, compilers these days are good enough to outsmart manual assembly programming. Barely is it so that a human can write faster assembly code than a compiler can. One of the many reasons is, for example, that the fastest code is often not the most readable. The compiler has no issue creating this, humans do. Performance problems are pretty much always a human issue, not a programming language issue. Unless you’re on the extreme side of a certain domain, it doesn’t make a flipping difference. C# is not a failed language at all, in contrary, it’s one of the best languages there is, as it combines the good things from a lot of different things, and is still actively being developed without being hogged down by an enterprise industry (yet?).

You got a link to where they say this?

You try writing an engine in assembly, LOL! It’s like one man building a coliseum with nothing more than a stick. Engines are seriously complex, sanity would not prevail and there is little need for it… Shaders are written in C, engines are “usually” written in C++ and game logic is “usually” written in a high level scripting language like C# / JavaScript / Lua…

Oh man, get rid of that professor :). C# is used all over the place. There’s a reason why the Mono project and MonoGame exist – it’s because so many people want to use it. Personally, I’m a JavaScript guy myself, but I understand why everyone hates it.

I much prefer C# in Unity over their version of JavaScript though. Working within the community as well, I think most samples and content are that way as well.

Still, the speed of C++ and overall speed of UE4 vs. Unity is astounding.

yeah here is the link. ESET insists they write in assembly and I can say as a customer its incredibly fast and light. Norton is like bloatware compared to NOD 32. But more on the side of spyware, no joke norton acts like a spyware rather than a anti virus I am talking about the bloatware ones they put on new laptops that they sell you.

Written in Assembly language
Operating system Microsoft Windows, Mac OS X, Linux, FreeBSD, Solaris, Windows Mobile, Android
Size 65.5 MB (32-bit), 72.0 MB (64-bit)

and this

Ow thanks well I guess I learned something new here today. Over at Unity they made reference to visual basic and that how it was Microsoft who was responsible for killing it and that somehow C# will suffer the same faith. There was a discussion about it on the updates to Unity 5 and the entire community was making reference to UE4 claiming that UE4 is superior because of C++ so figured what the heck might aswell go on this lol. A lot of those folks seem to be wanting UE4 badly but refuse to leave Unity so they are trying to get UE4 features in Unity 5.

One guy happened to have said they prefer C# because its better for some memory thingy thats done automatically compared to C++ where you have to do it manually. And that UE4 makes it hard for solo devs because of how difficult C++ is to use compared to C#

Well after I am finished with C this semester I am starting C++ module in January, they won’t reach C# but I will take it upon myself to learn it on my own. I think more I know the better it is for me.

I personally don’t like Unity and how they operate their business model, when i told them UE4 has free student version that I got access to for 1 year of subscription they also said yeah well we also have student version of Unity Pro and its only $200 US or something like that.

and the guy sounded ignorant because he said it like $200 US is nothing. And to top it off you are not allowed to use the student version for commercial even though you are paying money for it. Where as you can use student version of UE4 as commercial.

Its like those guys at EPIC are really “down to earth” kind of people you know? its like they are our friends or something this is the general feel I get from UE4 and Epic.

Could we stop the debate C++ vs C# please, this is really primary school level discussion and does not bring any valuable information to the thread.

If you only love C++, that’s fine for you, but please do not share your opinion about it because no one cares.

I would rather like to see the reaction of people working at Epic Games…

Are you guys going to affect full-time developer positions to continue improving this project alongside with the community and make this project real or just let it die because it would give too much power to Xamarin ?

If not, well you should certainly consider doing so, even if this would profit a lot to Xamarin, this would also mean that UE will completely outrun Unity in the long term.

The biggest mistake Unity is doing right now is that they take way too much time to bring us the latest mono features which would make the coding experience much more comfortable and also deliver better performances.

You guys did a HUGE step towards developers by releasing the source code of the engine, but now it’s time to move forward and provide C# scripting capabilities in order to seduce all those frustrated Unity developers that are craving for better tools.

Only then you guys could really pretend that you have developed the best engine, where engine programmers, game programmers, game designers and artists would finally find their peace in one user friendly eco-system.

Just a warning.
Anyone that use C# in serious projects will suffer.
You may use C# in some undemanding indie games but when it comes to professional use, never ever even think about it.
Not even single just one AAA company use it for perfectly known reasons that you could find anywhere on internet.
These are not my opinions if you ask me, these are just truths. You will thank me if you really want to get involved into serious projects.
However as I mention before undemanding indie guys that mostly comes from Unity or something you are welcome to use and have fun.

Only for desktops for now though.

Well that couldn’t be further from the truth, all AAA use some sort of scripting language on top and the main reason a lot of them stayed away was due to cross platform usability we know as Mono… They were trying to charge ridiculous sums of money and in earlier days had issues, Unity is a prime example of that…

Look if you love your C++ then have fun, but lets stick to facts.

@ Walking Dead

You have it all wrong, the Unity community is annoyed that even with Unity 5.0 nothing has been done about the Mono version. Most of the bugs and issues still remain, the consensus generally was we’ll use C++ because were tired of Mono…

Also I was the one that told you the price, if you believe giving information “is ignorant” then best of luck in the future when you need help.! If UE4 is catering to your needs than all is good, but it’s for you to find out the lay of the land and how things work… As I said Google is your friend.

Personally I’ll stick with C++ and Blueprints, for no more reason than API documentation. Adding another third party that’s not officially supported by Epic can be troublesome… A language is just a tool to get the job done, but I prefer official support by the engine developer.

The ignorance is strong with some people…

With who exactly?

Lol. Not you Shadow. You always have something good to contribute to a conversation, especially over at the Unity forums.

Hi shadow

I appreciate your info very much. Like I said I am new so still learning, I just didn’t like how the Unity Employee and some other folks say $200 is nothing for a student version of Unity Pro when in reality if you compared both engines you can use free student version of UE4 for commercial use. Say you did spend $200 for student unity pro what would be the point anyways? just for the purpose of “learning”? might aswell use free version then right? why pay $200 for Pro when you can’t even use it for commercial gain?

Not trying to be ignorant just trying to understand the logic behind that as it makes absolutely no sense whatsoever. Be honest who in their right mind would pay $200 for something they cannot even use when the same thing with a few less features can be had for absolutely nothing.

Plus anyone of us can get the Unity Pro for free without paying. I am pretty sure we are all aware of how we used to get software and movies and how many us currently do without paying. Not like you could use it for commercial gain for obvious reasons lol but no different from paying for a useless student version for $200 that you can’t use neither.

Sims 3 says hi.