6 ms·
Maybe this will light a fire under Unity to get a recent version of a C# compiler. No one has ever been able to point me to an official explanation for why thei
by j_s 12y ago
Maybe this will light a fire under Unity to get a recent version of a C# compiler. No one has ever been able to point me to an official explanation for why theirs is so far behind.
- WallWextra 12y agoThe unoffical reason is Xamarin wants too much money.
- pjmlp 12y agoOr the Unity guys want to pay too little money.
- Mikeb85 12y agoYou haven't seen Xamarin licensing prices...
- pjmlp 12y agoNo, but they are surely cheaper than a lot of comercial software I have to deal with in the enterprise space. Plus let's not forget Unity was just another 3D engine before they got Mono integrated. Whereas Mono was already being used in multiple areas. Anyway, this is playing conspiracy theory until someone issues an official statement.
- _random_ 12y agoI think it is very fair if Unity will be in the same boat as e.g. MonoGame.
- frik 12y agoMono 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 (LGPL 2.0). • The class libraries are released under the terms of the MIT X11 license. and: 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. source: http://www.mono-project.com/docs/faq/licensing/ http://www.mono-project.com/docs/faq/licensing/
- MrDom 12y agoIt'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.
- jstedfast 12y agoOur IDE is free for anyone to use, whether you are using our iOS, Android or Mac products or not. It's also open source (except for the addins that work with our iOS, Android and Mac products). There are a lot of Unity customers on our forums using Xamarin Studio already.
- Alphasite_ 12y agoHow would that work with the App store now, since you can dynamically link to frameworks?
- gillianseed 12y ago>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. In other words, you have to pay a license fee for shipping the Mono runtime in a proprietary game, which is what Unity does. So Unity has negotiated a license deal with Xamarin for the Mono runtime version they use, and if they want to use a newer version they will have to pay more, which they aren't doing. Instead Unity has developed il2cpp which means that they no longer have to ship the mono runtime with each game and therefore no longer have to pay the license fee for shipping mono. Atleast that's what I've gathered.
- the_why_of_y 12y agoYou can bundle LGPL libraries with proprietary applications quite easily; it just has to be possible for the user to replace it, which is rarely a problem because the usual situation is that your proprietary code sits "above" the LGPL library. But reportedly Apple does not allow LGPL in its app store for some reason.
- forrestthewoods 12y agoThey forked a long, long, long time ago.
- mnglkhn2 12y agoI suspect the issue is related to the licensing fee which might be on a per dev seat and hence might not fit unity 3d's business model. Unless there is a hard stop issue, business wise, it won't happen.
- mnglkhn2 12y agoWhen unity got their mono license xamarin wasn't yet a business, hence the license was most likely zero.
- shadowmint 12y agoIt would have been zero to Xamarin, but doubt it was free. I imagine they bought a perpetual license to distribute sans-GPL the full code of a specific version of mono from Novell. This thread has a bunch of speculation and a few comments from unity developers: http://forum.unity3d.com/threads/new-version-of-mono-with-unity-4-3-any-additional-details-on-that.197948/ http://forum.unity3d.com/threads/new-version-of-mono-with-un...
- TillE 12y agoThat was my number one reason for moving to UE4; announcing Unity 5 with no Mono runtime update was the last straw. Current versions of Mono could probably do a serviceable job with simulation-heavy games, but not Unity's ancient one. Bizarrely, they don't even have a C or C++ API. You can add native code libraries to your project in Unity Pro, but you always have to go through Mono to interact with the engine.
- azakai 12y agoUnity is writing a C#-to-C++ compiler, il2cpp, see http://blogs.unity3d.com/2014/05/20/the-future-of-scripting-in-unity/ http://blogs.unity3d.com/2014/05/20/the-future-of-scripting-... it's much faster that Mono on some things currently, http://blogs.unity3d.com/2014/10/07/benchmarking-unity-performance-in-webgl/ http://blogs.unity3d.com/2014/10/07/benchmarking-unity-perfo... but it is so far only used in the WebGL port. Long-term, il2cpp is meant to replace Mono in Unity, according to the first of those links.
- migueldeicaza 12y agoSmall clarification. It is faster than the old Mono they ship. Their Mono is at best Mono 2.10, about three years old, without any of our optimization work for three years, very notably, a lot of the LLVM support, or the new garbage collector. That said, the il2cpp looks like a very promising an interesting project, so kudos for that!
- azakai 12y agoYes, 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 benchmarks showing Mono matches .NET and/or native C++?
- 12y ago
- Mikeb85 12y ago> 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...