“Unity” the engine is excellent and does so many things out-of-the-box there is very little else to compete with it. What it doesn’t do out-of-the box there’s quite often an addon available for it in the infamous Asset Store. It has an incredibly vibrant community of modders and addon producers and asset crafters which put almost any other community around game development to shame.
It targets more platforms than pretty much any other integrated tool. As for phones as a platform… the big names are generally covered and fine. Incompatibility problems are largely down to the phones themselves just being a bit shit and you have the same problem in any other environment. Broadly speaking Unity has had more testing than any other environment out there - you simply won’t get better. Patches and fixes are frequent.
The “asset pipeline” is excellent. Chaz can diddle around in Max making 3D animations and see it running in Unity on-screen in-game a matter of minutes. I don’t know how well the 2D stuff - especially the GUI stuff - stacks up since 5.x as we’re still on 4.6. I imagine it might be on a par with my own GUI stuff, but that’s really very nifty so probably not 8)
Java would have been in this position if, years ago as we’d tried repeatedly to make happen, Sun had made a few decisions to allow it, but they didn’t. So it’s all on top of Mono now, in C#, and that’s a little sad in some ways. There’s still reasonable scope for someone to compete with Unity using a Java-based platform - and it would actually have a reasonable chance of success as the Java platform is a whole lot faster than the Mono platform which enables a whole superset of games and technology that require that kind of performance (and of course not to mention the huge variety of libraries available for Java gives it a great kickstart). Something based on Eclipse would be massively useful: 90% of the problems with Unity are down to the crappy bugridden IDEs (both Unity development environment, and the shockingly primitive MonoDevelop). libgdx and RoboVM are interesting places to look at to solve the cross-platform stuff, though really the elephant in the room is XBone/PS4. No Java on those two, so … no go.
Seriously… anything would be better than the Unity/MonoDevelop unholy combo. Visual Studio is barely better than MonoDevelop for Unity work, too, before anyone pipes up.
Cas