We really like what Unity3D brings to the table – cross-deployment to web and iOS being very important – but also we like that you can program in Microsoft’s C# via Mono, a cross-platform framework. We chose Unity3D as our engine, mainly because of its ability to deploy to iOS (Apple’s mobile operating system.) Unity supports Mono, therefore it also supports the great majority of Microsoft’s C# language features.
Why that language choice (as well as deployment choice) became really important was that we had to build a lot of stuff to support complex user interaction in our games. Much of this stuff just doesn’t exist in most games authored in Unity, and it’s therefore not part of Unity’s list of priorities right now. Apparently that changes with the upcoming release, but we will see in a few weeks.
But about middleware: we’re intrigued about the possibility of licensing some of that framework work that we’ve built, specifically because it seems that for our kind of games – electronic tabletop games – we created stuff usable for a lot of other projects. We’re taking it a day at a time, but it is something we’re looking into.