And again some work is done on the C# wrapper.
The latest work on this topic had been done to make it possible to build an Android app by using the Xamarin toolchain.
Due to that requirements the runtime and the generated application library wrapper contains lots of async/wait and Task<T> usages. This works one all newer platforms (Xamarin and .Net>= 4.0).
For one of your products we considered to make a proof of concept to show, how a visualization of the system would look liḱe and there was a wish by one of our employee to use Unity3D for this task.
The first work in Unity3D was to make WebSockets workable – there is a free git project offering this support. The WebSockets were needed to listen to our 0MQ<->WebSocket Relay, which pushes the information of our 0MQ-Infobus to external clients.
The 0MQ-Infobus is feeded by Gemstone/S. The database pushes telegrams on this bus to inform external application about state changes – so the clients do not need to poll the database on a regular base.
After that we wanted Unity3D to talk to our Gemstone/S database directly – by using our C# wrapper.
But when working with Mono the situation changes and Unity3D makes it even more complicated, because it uses its own Mono version somewhere located between official Mono versions.
So we build a new CodeGenerator in PUM to produce “synchronized, simple” .NET code, created a new runtime (working with Unity3D or .NET < 4.0) and put the stuff together.
Noẃ Unity3D can listen to the event bus and requests additional information via the normal API – just to make a better informative visualization.