Future Roadmap

Where we plan to expand Mono for Unreal Engine.

There are a number of areas in which we could take Mono for Unreal Engine based on the community interest.

In general, we are impressed by how well Mono and Unreal Engine work together. Here is a list of things that we hope to add in the future.

F# Support

F# is a strongly-typed functional programming language designed to run on .NET. It combines the succinctness, expressivity and composability of type-inferred functional programming, the compile-time safety of strongly-typed code, and the runtime support, libraries, interoperability, tools, and object model of .NET.

While you can use F# today, we want to provide default templates that people can use. Currently, you must set the projects on your own.

More Supported Platforms

Our initial release supports Mac and Windows, since these were the easiest to develop against and ship.

Internally, we have proof of concepts running on Android and iOS, and based on demand, we might complete those efforts.

Support for consoles depends on access to EpicGame's ports of Unreal Engine to the consoles.

Blend the Unreal Engine APIs with Async

Touched on in our Tech Features tutorial, async programming is a powerful compiler feature that allows seemingly linear code to be executed like a state machine, using the await keyword.

While you can use await already while developing code, the UnrealEngine APIs would benefit from getting an the async treatment, to allow the UnrealEngine APIs to be composed with the .NET Task-based APIs.

Sketches and Interactive Development

We want to make it easy to connected the C# and F# REPLs and Xamarin Sketches to Unreal Engine, making prototyping and iteration even faster by allowing you to make changes in your game's code in real time.

Platform APIs

On iOS, Android and Mac OS, Xamarin has provides access to the native APIs:

We want to make it possble to use these seamlessly together with Unreal Engine, so that you can integrate fully with each platform on which you ship your game.

Currently there are no bindings to Windows APIs from the Mono runtime, but we may add these if there is enough demand. Alternatively, you can manually bind C APIs using Platform Invoke services, or use CppSharp to generate bindings to C++ APIs.