There was no update to the situation in this blog post. No information on the site I posted here. Really bad communication from Miguel and Xamarin. :-(
I have only followed one tutorial for Unity3D and have never tried Unreal Engine. I'm just interested in the topic because it's different from my day job and I'd like to try something new. Posted the link here to provoke some discussion about it.
(The 1980s were so much easier. Not many choices on the C64.)
I'm disappointed that the semi-official Lua integration seems to have gone nowhere for the past six months or so. I think that's a much better intermediate step between C++ and Blueprints.
Unity licensed mono, with a very special license, for that specific version of mono. Then there was what, 4 or 5 years of wrangling and no C# version updates because of licensing and royalty disagreements with 'whoever owns mono at the moment'. I can't honestly be bothered digging the threads up, but search the unity forums and you'll get the whole story.
Unity is now officially pursuing the 'compiles C# to C++' thing. They say it's because its 5-10x faster (and it is... compared to the specific C# runtime they're using...). I'd guess that lets them do some legal loop hole things.
Licensing. Devil's in the details.
Unreal just nipped the whole thing in the bud by saying; make it free and open source, or don't come to the party.
I'd lay the blame on Unreal here. It's possible to bundle the mono runtime with your game, it's just that Unreal has done it in a way that doesn't satisfy the LGPL. As long as the runtime is a separate binary for which all source is available, you're fine. This can be made completely invisible to the end user.
Maybe there's some difficulty I'm not seeing here, though.
(and I'm not being narky. This is the point I'm making; it's only superficially free. Then you have to say, ship a game, and woa~ wait, it has to be GPL now if you bundle the runtime, or you have to pay a licensing fee?)
"When do I need to obtain a license from Xamarin to the Mono Runtime?
We only require licensing for uses of Mono and Moonlight on embedded systems, or systems where you are unable to fulfill the obligations of the GNU LGPL.
For example, if you manufacture a device where the end user is not able to do an upgrade of the Mono virtual machine or the Moonlight runtime from the source code, you will need a commercial license of Mono and Moonlight.
Or if you ship an application that requires to statically link the Mono runtime and you are not able to provide the object code to relink Mono, you must obtain a commercial license from Xamarin."
You can bundle as much as you want, as long as you adhere to the rules.
Yeah, on a locked down mobile platform this is all true, but on the desktop the quote I pasted suggests you actually can use Mono for free.
To most users of Unreal Engine, mobile games aren't really a priority, though I understand Unreal wants to change this.
The problem in the mobile case is not that Mono isn't free; it's that the licence isn't permissive enough.
That mobile platforms and GPL-style licenses don't play well together is nothing new, and I think it's misleading to call Mono "not free" just because the restriction of the Apple App Store and iOS don't allow you to use it there.
The fact is the runtime and libraries are MIT and LGPL. Your statement that your game has to be GPL if you use them is totally wrong. Least of all, because the GPL is neither of those two licenses, but most importantly, those licenses allow you to release a game under a license that's not even MIT or the LGPL, because that's the nature of those two licenses.
Unity is required to pay a custom license because they didn't want to accept the terms that are available to everyone. (I almost wrote "everyone else" there, but that would have been wrong because the terms were available even to Unity.)
Mono and C# are now being used by both Unity and Unreal. This certainly gives further momentum to the language for game developers. With all the past license changes and the cross platform nature of Unreal and Unity this makes it a lot more pursading to learn C#\Mono for game development.
Personally I have a few educational games I would like to write and still can't decide what tool would be best, certainly Unreal will be to over the top for my ideas, but Unity keeps seeming like it would get me out the door quicker. The issue always was writing in Java Script or C# with C# always looking like a much better option.
FROM THE READING
"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."
So you down vote and make a statement that is the opposite of the announcement with nothing to back up your claim on this post or the other post stating this isn't the real world situation?
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. You can even use C# async programming to author your code. Download it and give it a try.
Yes, but it would be nice to have something in between JavaScript and C#. Some 2D game devs I know use Löve2D (Lua) or Phaser (JavaScript) with TypeScript.
On the other hand Löve2D and Phaser haven't nearly the Unity tooling.
https://forums.unrealengine.com/showthread.php?54595-I-want-...
&tldr; Epic saw the Unity thing and went 'nope; not unless you make it free forever'.
(Also, don't bother. It doesn't work with the most recent version of the engine either)