Mono for Unreal

Wow.

I’m not an unreal fan boy. The largest hurdle to me giving Unreal a serious look was getting stuck developing in C++ again, now this.

  • Create game projects purely in C#
  • Add C# to an existing project that uses C++ or Blueprints.
  • Access any API surfaced by Blueprint to C++, and easily surface C# classes to Blueprint.
  • Quick iteration: we fully support UnrealEngine’s hot reloading, with the added twist that we support it from C#. This means that you hit “Build” in your IDE and the code is automatically reloaded into the editor (with live updates!)
  • Complete support for the .NET 4.5/Mobile Profile API. This means, all the APIs you love are available for you to use.
  • Async-based programming: we have added special game schedulers that allow you to use C# async naturally in any of your game logic. Beautiful and transparent.
  • Comprehensive API coverage of the Unreal Engine Blueprint API.

Killer list along with complete support for 4.5, which means await/asynch.

I’m hopeful that Unity’s proposed solution is competitive.

4 Likes

Although it is only for Mac and Windows currently. No android support nor IOS. Still some comp advantages for Unity.

5 Likes

Wtf is a mailing list? How come a company doing cool stuff like this hasn’t arrived in 2014?

Unity has one too.

This is pretty cool. I’ve been poking at UE4 for a side project and Mono support sounds awesome. I find it a bit humorous that UE4 (unofficially) supports async before Unity. Hopefully we’ll be able to take advantage of modern language features in Unity relatively soon.

I’d take heed, we know not of what it costs…

P.S is it obvious I watch too much game of thrones? :smile:

If they can stick to their roadmap and they figure out a pricing structure, this might actually convince me to switch. The fact that Unreal has an apparently friendlier partnership with Xamarin and got .NET 4.5 support while Unity is still stuck on 2.0 is a pretty bad sign.

3 Likes

Their current proposed solution is not, since it only works on WebGL, and might possibly work on iOS in a year, but support for Windows and Mac is even further out than that, if it comes at all. Plus, Unreal is getting actual Mono, whereas Unity is trying to reinvent the wheel with il2cpp.

omg how the hell does UE4 get new mono and Unity has such an ancient version???

I actually have 1 project from a company moving back to Unity after they couldn’t get past the basics in UE4. (I guess networking is harder?)

1 Like

Probably because you will have to pay Xamarin to use it, and Unity did not want to pay Xamarin for you to use it because they wanted too much.

Question for me is if they go subscription…

I thought you get very advanced networking basically for free with UE4? Maybe they could not get it…

Yeah, the fact that Xamarin is working on this at all makes me think they will offer a cheap indie license rather than the current negotiate-your-own-secret-commercial license. Or that Epic themselves will pay for a redistribution license. Epic seems like a company that might be willing to pay Xamarin if it means getting to one up Unity again.

This is all really awesome, except it is not quite part of UE4 yet. It is still 3rd party code that requires you to manually compile UE4 from source to add the support for Mono. It won’t be a serious threat to Unity until it is merged into UE4 and distributed with UE4 by default. But that could happen really quickly.

I don’t think this is gonna happen. Too many current UE4 users don’t want C#, so bundling by default is no option imho. Next the Python and Lua people come and want it bundled too. This is 3rd party, Epic does not want any responsibility for maintaining it besides providing a stable scripting API all other languages can use.

But they probably take over the hooks needed, so users could just download and use the thing without compiling UE4.

From what I have heard and take this with a grain of salt. Epic Games does maintain a version of LUA for Unreal engine 4.

I welcome C# support :slight_smile:

This is really cool. I’m looking forward to playing around with UE4 with this to better evaluate the engines.

The Lua binding is a very simple example for usage of the scripting API implementation, it is probably like 50 lines of code (just assuming so your salt is right, maybe they created a full one now, but thought it is just the example). Not sure, but maybe you have to download the Lua runtime yourself.

I’m also for C# support. But the user can download the binding and Mono himself, as long as he does not have to compile the engine for it. Or it could come from the Store, like other plugins/addons.

I just heard that Epic does maintain a version of Lua for their engine that is all i know :slight_smile:

I am for C# Support as well. Really cannot wait to see where this goes over the next six months.

Actually IL2CPP works on Windows and Mac (and a few other platforms) today. It’s just not ready to be shipped yet.
As for “reinventing the wheel” - Mono itself is a reinvented wheel of the .NET runtime (jit engine). IL2CPP takes a different approach, which from the looks of it is not only more performant, but incredibly portable too.

You wouldn’t believe the time and effort required to get Mono running on platforms like Xbox 360 or PS3.

4 Likes