Interop

Is the entire Unreal Engine API surfaced?

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.

I have some C++ code that I want to surface to C#, how do I do this?

Use Mono's CppSharp project to access native C++ APIs.

Platform Support

What platforms are supported?

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.

Can I port this to XXX?

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.

You did not answer my question. What about Linux?

Yes, you can use this on Linux too.

Will this compile to JavaScript?

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.

Unreal Engine Support

What versions of Unreal Engine are supported?

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.

Sample Code

Do you have some sample games I can look at?

Come back next week, we will be publishing the ShooterGame sample, entirely rewritten in C#.

Licensing

How much does this cost?

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.

Does Xamarin offer licenses for other platforms?

Yes, commercial licensing for other platforms are available at a similar price, they are just not listed on the mobile-centric store page. Contact hello@xamarin.com for a quote.

Game Engines

Do you guys have plans to support any other game engines?

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.

Source Code Access

Why is the source code access so cumbersome?

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 mono-ue@lists.xamarin.com to discuss.

Could we contribute to the effort?

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.

Compilation

What compilation modes are available?

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.

Will the above change?

Eventually, yes. We currently are focused on the Roadmap.