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.
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-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.
• 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.
They don't want to pay Xamarin. Mono commercial licensing sucks...
http://blogs.unity3d.com/2014/05/20/the-future-of-scripting-...
it basically compiles C# to C++, which they found is much faster.
I wonder if this project has a solution in mind for platforms where Mono won't run? Or maybe it targets just a subset of the things Unreal Engine can target?
From talking to Mono devs, definitely Mono can be ported to new platforms, at least if there are no license problems. But even then, it can be quite a lot of work. il2cpp avoids all those issues, it emits C++ which every significant platform can handle very well.
Some Mono games (like Bastion) have already been ported to run on the browser:
http://www.supergiantgames.com/blog/surprise-bastion-now-ava...
(then again, NaCl is not probably what most people have in mind when they think about browser support)
I don't have much C++ experience and I had doubts about getting into UE only with blueprints. It feels like there will be cases that I won't able to cover just with blueprints.
I was experimenting Unity just because of their C# support but now I can gladly turn back to UE and it is more exciting for me.
Having said that, I'm really excited to see c# supported.
F# support is the real kicker.
That said, I'm not an expert on Blueprint or FP so maybe someone who knows more can tell me whether that assessment is accurate.
(And I totally understand that some people will prefer F# and access to all those .net classes anyway)
Additionally, there are plenty of nodes such as "Get Player Controller by index" which allows the user to access and modify global state.
There is a "pure" option to check on a particular function, but the language itself makes no checks as to the validity of this, it just allows the execution engine to make assumptions.
It works, we just do not provide any code templates yet.
> 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.
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.
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 its fine.
It is not that hard, just put a clause in the license that oblige the corporations to buy their related pack
I'm wondering if you would mind sharing what features you miss the most when you are away from Visual Studio? I've not tried it but I'd guess a lot of the editing is possible even if you do wind up stuck using Xamarin Studio for building and debugging.
For hobby purposes and small development, it is expensive and probably is doable doing everything alone.
However, for usual business with short time to market, taking into consideration "time spent on feature" X "hourly rate" per developer time, the prices are quite cheap.
I fully agree, for a business that say makes 100k per year, paying about 2k for a Xamarin Business license is affordable.
An interesting pricing strategy would be:
* Free - for hobbyists, give them complete features and make the resulting executable expire in a few days. This will let them try and play with the tool. After they are comfortable with using C# and Xamarin, they will chose a paid license if they want to make money from their work.
* Indie - same as above for small business (less than 100k per year).
* Pro - same as above plus (paid) support.
Thought so.
I always recommend Cordova to my competitors
You should be able to make this work on any platform where Mono and Unreal Engine work together.
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.