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# 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.
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.
Touched on in
Features tutorial, async programming is a powerful
compiler feature that allows seemingly linear code to be
executed like a state machine, using the
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.
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.
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.