Mono for UE4

So, the guys at and Epic apparentlly collaborated to provide Mono support for UE4.

Check out for more details.

“With Mono for Unreal Engine, you can now use the latest version of C# to write your gameplay code, AI behaviors, UI elements, and more. You have access to the entire range of capabilities of the .NET framework, up to version 4.5.”

Interesting times - pretty much means that UE4 games can now be scripted in C# (and it seems in F# in the future too).
Blueprints, hot reload and async seems to be properly supported as well.

Seems pretty nice!

Could be helpful for some people coming from Unity. Allthough I would everyone encourage to learn C++ :wink:

is awesome :slight_smile:

I really cant understand a reason why people would prefer that when we have really good C++ support.

With you on . Posted my thoughts in the other thread. I feel like it’s going to cause a divide between coders in the community which is definitely the last thing we need. It’s hard enough for a newbie to learn as it is, without being thrown several options.

Either way, surely those using C# will have to learn the Engine’s C++ base to do anything truly productive with it? Just seems like a pointless effort IMO, worried about it bringing a certain mentality of community members with it.

+2. I honestly hope it won’t spread to much around Unreal.
C++ API in unreal is so easy to learn, that it feeling like coding in managed language.

But on the other hand I doubt you will be able to use C#+Mono to extend editor.

For me the most important reason would be instant compilation. Hot swap of my C++ code takes 10 seconds in the best case, but it is often above 1 minute. It is more than enough to get distracted.

Yeah, I can always use blueprint scripting and I often do so, but I write code much faster than program in nodes.

Besides, in my opinion the C# is more flexible and cleaner than C++.

Well, i dont think waiting 10 seconds for hot reloading its SOOOOO bad that it needs to make you deal with a scripting interface, and not having access to all you want with the easy option of “go to implementation” in a engine function to see how it works, use blueprint for that.

C# more flexible, nope. Im with you that C# can be cleaner than c++.

In short, i just think that having to use a plugin with unofficial c# support that can be old some day or cause incopatibilities is NOT worth it for the small advantages c# has over just using c++, plus all the multiplatform stuff.

In something like Cryengine, a c# plugin is a godsend becouse the normal c++ support its total trash, but in UE4, we have hot reloading, and the complicated parts of c++ are handled by the engine and we dont really need to care.

10 seconds isn’t soooo bad, but makes difference comparing to 1s (and that’s the best case).

I don’t want to go into some kind of “which language is better” war, so I’ll just skip it, because I’ll probably stay with C++ and blueprints anyway :). And the reason:

I will keep programming in C++, it is good and clean in Unreal Engine. There is no reason to get over to C# and have an interface between engine code and framework.

I, as a professional C# developer, like the C# option for UE. However, I think its interesting for rapid prototyping. For production I would still use C++.

Options are good, though I probably won’t use it at point. If anything I’d rather try the upcoming Skookum Script which is the only language focused on scripting gameplay specifically. Other than that, C++ and BP has me covered.

Please no C++ vs C# debate, no one cares if you are a C++ nazi, instead let people decide which languages they prefer coding with, period.

Sure thing. We’ll probably need a C# subforum though? Otherwise the two will get mixed all the time. Same for other languages.

More options to develop are always a good thing… To my C++ is the answer, but the almost instant compile time of C# is tempting.

No one has yet mentioned the Mono runtime licensing cost. C# is more familiar for me, and a lot more consistent and clean, which means I can be more productive. But C++ support is faster and has a significantly larger (In terms of ability) API, and it comes with the engine for what I’m already paying.

How much does it cost? I thought it was free for some reason. Why do I ever think that I have no idea.

I agree with 100% here, C# is more familiar to me as well but I am not optimistic about implementation.

Not entirely sure, in the Reddit article they mention $300 per platform per year, but also mention a $13,000 platform licence fee, so I am not sure what the deal is…

Here is the link: Reddit - Dive into anything

Quote:

Edit - $700 per year for Visual Studio support??? crazy… plus it is per platform

I believe those are the costs for the development tools, if you plan to do something commercial. If you’re making something non commercial, then I believe it’s free. That’s why mono is so common a framework for cross platform projects that want to target Linux, it makes .NET portable, which is pretty nice.

And that’s if you’re using a platform you can fulfill the requirements of the GPL on. (Or is it LGPL?) If you deploy to, say, iOS, then you need something on top of that.

I’m really glad it’s happening, and I’m REALLY glad it’s a modern version of Mono, unlike the out of date version in Unity. Hopefully it’ll be enough to pull some Unity developers away, I know before I started using Unreal I’d have been more comfortable switching had there been C# support.

I just think it’s not going to be viable for indies to use commercially, since they’ll probably have to learn C++ anyway.

Yeah it’s LGPL , so you need a license from to use their LGPL-based libraries in a non-LGPL project apparently. I think that’s why there is so much confusions over the pricing…

I have nothing against it, but I can see it causing major headaches down the line, I worry (like mentioned) about how will affect the community, as well as he mentioned they are going to need to learn the engine framework anyways to know what functions to call, how much time will really save is yet to be seen.

I’m going to continue learning C++ for now, I think it’s still the best way to go in UE4 right now. :slight_smile:

EDIT - See here for pricing: https://store…com/

EDIT 2 - Here is what is allowed on a Free starter account vs the Indie version: