We currently only surface the Blueprint API, and some select APIs that are commonly used in games.
We are adding more APIs to the binding as we learn what developers are using.
Use Mono's CppSharp project to access native C++ APIs.
The initial preview supports Mac and Windows as development and deployment targets. We have internal proof of concept setups for Android and iOS.
Support for other platforms will depend on user interest.
The code should be as portable as the intersection of Unreal Engine supported platforms and Mono supported platforms.
You might need to do some work on your own to support platforms that we do not support out of the box, but all of the source required to build is available.
Yes, you can use this on Linux too.
While this is entire possible, this is a major time investment. We currently do not have plans to do any of the work associated with bringing this to the web.
We want to focus on all the easy things first, as detailed on our roadmap.
But if there is enough demand to make this happen, we would make it happen.
Currently, the Mono integration that is distributed is done against Unreal Engine 4.4.
If you want to use an earlier or later version of Unreal Engine, you would need to adjust the patch to work on newer versions of Unreal Engine on your own.
Come back next week, we will be publishing the ShooterGame sample, entirely rewritten in C#.
To redistribute code written with Mono for Unreal Engine, you must have a commercial license to the Mono runtime.
These licenses are included in Xamarin's commercial products for targeting Mac, Android and iOS.
Xamarin product pricing starts at $0 for Starter Edition and adds Visual Studio support at $999 per developer, per platform.
In addition, you still need to comply to your license agreement with EpicGames for Unreal Engine.
Yes, commercial licensing for other platforms are available at a similar price, they are just not listed on the mobile-centric store page. Contact email@example.com for a quote.
We love game engines, and we would like to assist other game engines to be powered by C#. Feel free to contact Xamarin and your engine vendor for us to start a collaboration.
We would love to make this a simpler process, but we need to abide by the terms of the Unreal Engine license that requires us to verify that you are an Unreal Engine licensee.
We do welcome ideas on how to improve this though. Use our firstname.lastname@example.org to discuss.
While we would love to give people direct access to the source code and contribute patches, we need to ensure that developers that access the code have licenses to Unreal Engine.
Managing this is cumbersome. But if we could find a way of granting people access to our code, provided they also have access to the upstream github module, we could open things up.
While Mono supports various compilation combinations (Mono's code gen, vs LLVM code gen; Just-in-Time, Just-in-Time with pre-compiled assemblies, and full static compilation; Incremental static compilation vs full batch compilation) the integration just supports the most straightforward version for each supported platform.
This means that platforms that require static compilation use the static compiler, as configured by default. And the other platforms use the JIT, with the default configuration options.
In both cases, you can tweak things to your pleasure, but we do not provide any UI to make these changes for you. You might need to adjust manually your build files.
Eventually, yes. We currently are focused on the Roadmap.