Live data from Hacker News

Mono for Unreal Engine

tirania.org

71–80 of 94 posts

Re: Mono for Unreal Engine

#71

Definitely game changing. The barrier to move from Unity to Unreal is really low if this works out. Still best to do C++ where possible but this opens up Unreal drastically.

> The barrier to move from Unity to Unreal is really low if this works out. Not at all. You still have a huge chunk of your code written specifically for interfacing with UnityEngine. Also, coroutines instead of async. It still won't be easy to migrate.

But a very good lesson for proper design (not tying to specific engine too much).

Re: Mono for Unreal Engine

#72
post #49
post #40

Earlier quoted context omitted.

For a larger corporate, ~$1,800 is very reasonable. Xamarin have a tough line to walk - larger companies will happily pay that price, while still being reasonable for indie developers. Xamarin support is excellent - their forums, twitter etc. I haven't worked with a vendor before that has been that helpful. Xamarin need to cover their costs. I've been using Xamarin Studio for a while now for both iOS & Android and it…

They just need to make two different price plans: you are a corporation? Here the corporation pack. You are a alone dev? Here a very lowered-price alone dev pack. It is not that hard, just put a clause in the license that oblige the corporations to buy their related pack

Yes, corporations do not start nice github projects. Indie community would be a good gain.

Re: Mono for Unreal Engine

#73
post #59
post #55

Earlier quoted context omitted.

> No one has ever been able to point me to an official explanation for why theirs is so far behind. They don't want to pay Xamarin. Mono commercial licensing sucks...

Compared to what? I fail to see any difference to other comercial software offerings.

Compared to free. The version they're using doesn't require any licensing.

Re: Mono for Unreal Engine

#74
post #70

Earlier quoted context omitted.

The unoffical reason is Xamarin wants too much money.

Mono is open source and free software. Because of the "single static binary" policy (no dynamic linking) of app stores you have to obtain a proprietary license from Xamarin. • The C# compiler is dual-licensed under the MIT/X11 license and the GNU General Public License (GPL). • The tools are released under the terms of the GNU General Public License (GPL). • The runtime libraries are under the GNU Library GPL 2.0 (LG…

It's not just mono they need, it's the IDE. The default IDE that comes with Unity is MonoDevelop. If they upgraded the runtime, they'd have to pay for Xamarin's IDE. I wonder if embedding the java runtime would have been cheaper in the long run.

Re: Mono for Unreal Engine

#75
post #66
post #51

Earlier quoted context omitted.

First and foremost, compiling to C++ means you then optimize it using a full C++ compiler like gcc or clang+LLVM. Not only are those compilers generally better than JITs, they can also do whole-program optimizations. JITs are getting that too (Dalvik=>ART, newer .NET runtimes), but the C and C++ compilers have a big head start. (In theory a JIT can do all the things C++ compilers do, of course.) Aside from performanc…

All true, but you're forgetting that Mono can AOT compile C# to native code using LLVM. That's how Xamarin.iOS works. So il2cpp doesn't really bring anything new to the table.

But it does solve their biggest issue - ultimately enabling Unity projects to publish to the web without plugins (WebGL / javascript).

Once all code in a Unity project eventually ends up as C++ (even if it started as C#), they can leverage Emscripten, asm.js and related technologies to enable Unity devs to use C# in the editor, which is converted to C++, and ultimately Javascript. It seems crazy, but it might just work!

Re: Mono for Unreal Engine

#76
post #41
post #39

Earlier quoted context omitted.

Yes, I think those benchmarks are based on the Mono they use, which is indeed old. I would be very curious to see benchmarks compared to trunk Mono - should be interesting. My information may be out of date, but typically people tell me that Mono tends to not match Microsoft's .NET implementation in speed, and in turn, .NET tends to not match native C++ either. So I would still guess il2cpp can win here. Or are there…

It's important to consider that C++ code, is not the same as C# to C++ code. The Facebook guys originally converted PHP to C++ code for speed, just like il2cpp, but eventually they wrote a JIT because it was faster AND they could keep the dynamic features like code generation and dynamic loading. C# is ment to be a safe language, unlike C++ which has, among other things, the notion of undefined behaviour and manual m…

> From my standpoint. The cheapest option, and best option for everyone really, is to continue using (an up-to-date) Mono and instead allow for writing games in C++ as well.

Yes. It seems logical that there have been some licensing negotiations that we're not aware of, and maybe all this is part of ongoing negotiations too.

What's puzzling is that they're keeping il2cpp closed. Opening it would make sense and would show they mean serious business but keeping it closed makes me wonder if their risk will pay off or if it's just a bluff.

Re: Mono for Unreal Engine

#77
post #66
post #51

Earlier quoted context omitted.

First and foremost, compiling to C++ means you then optimize it using a full C++ compiler like gcc or clang+LLVM. Not only are those compilers generally better than JITs, they can also do whole-program optimizations. JITs are getting that too (Dalvik=>ART, newer .NET runtimes), but the C and C++ compilers have a big head start. (In theory a JIT can do all the things C++ compilers do, of course.) Aside from performanc…

All true, but you're forgetting that Mono can AOT compile C# to native code using LLVM. That's how Xamarin.iOS works. So il2cpp doesn't really bring anything new to the table.

Regarding the C# -> C++ -> JS thing, it really must alot easier to do a C# -> JS conversion...

Re: Mono for Unreal Engine

#78
post #75
post #66

Earlier quoted context omitted.

All true, but you're forgetting that Mono can AOT compile C# to native code using LLVM. That's how Xamarin.iOS works. So il2cpp doesn't really bring anything new to the table.

But it does solve their biggest issue - ultimately enabling Unity projects to publish to the web without plugins (WebGL / javascript). Once all code in a Unity project eventually ends up as C++ (even if it started as C#), they can leverage Emscripten, asm.js and related technologies to enable Unity devs to use C# in the editor, which is converted to C++, and ultimately Javascript. It seems crazy, but it might just wo…

"But it does solve their biggest issue - ultimately enabling Unity projects to publish to the web without plugins (WebGL / javascript)."

I'm not really sure that is their biggest issue; HTML5 publishing of Unity games seems mostly a novelty at this point.

Re: Mono for Unreal Engine

#79
From http://mono-ue.github.io/about.html

> To redistribute code written with Mono for Unreal Engine, you must have a commercial license to the Mono runtime. These licenses are available from Xamarin for Mac, Android and iOS online, and you can request Windows licenses through support.

So, if I want to use this commercially on Windows I will have to buy a license for the Mono runtime ?

Judging by the price for the Mac license it should be around $300 per year, while the Unreal license itself is about $240 per year.

Now, if I want to use the same code on iOS, Android, Windows, Mac I will pay to Xamarin about $1200 per year.

Re: Mono for Unreal Engine

#80

From http://mono-ue.github.io/about.html > To redistribute code written with Mono for Unreal Engine, you must have a commercial license to the Mono runtime. These licenses are available from Xamarin for Mac, Android and iOS online, and you can request Windows licenses through support. So, if I want to use this commercially on Windows I will have to buy a license for the Mono runtime ? Judging by the price for the Mac…

The Unreal license is only that much if you keep your subscription going. You can subscribe and then cancel your subscription whenever you want, while still being allowed to publish using the latest version of UE4 that was available while you were subscribed.

From the EULA:

After cancellation of your Subscription by either you or Epic, you will not be entitled to access or use future Versions of the Engine Code or Assets that Epic makes available under the License. However, cancellation of your Subscription will not affect your rights under the License with respect to any Licensed Technology you have already downloaded under the License.

Post reply on HN