Unity is a multiplatform game development tool, designed from the start to ease creation. A fully integrated professional application, Unity just happens to contain the most powerful engine this side of a million dollars.
We've released 2 games on iOS with Unity and have found it a pleasure to work with. While it has a few shortcomings, overall it's rapid development and portability are ideal for indie game developers.
+ Platform Support - Great out of the box support for a wide variety of platforms. We're seeing about 95% shared work between PC, iOS and web
+ Unified Editor - A single editor for all platforms is ideal. The editor itself is also an amazing tool with most common features implemented well
+ Great visuals - Support for advanced effects with great shader/material support and a nice pfx editor. Visuals scale well down to mobile devices while giving enough low level access for optimizations with shaders
+ Maturity - Tools and community are becoming more mature as time goes on. answers.unity3d.com has a wealth of information. The asset store is also growing into a great asset for developers both selling and buying
- Multi-developer support - The free version doesn't support multiple developers well. There is talk of rectifying this in the future, but at this time this is a big sticking point for many people I talk to and is the reason they haven't adopted Unity
- No great 2D support - While there are alternatives, the fact 2D isn't supported so well out of the box is a little disappointing
- Bad GUI - The built in GUI is terrible. It's fine for rapid throwaway prototypes, but not much else
Overall Unity is a pleasure to work with and I highly recommend it to indie developers. The few cons we have with it all have work arounds and have not caused us to move to another tool.
I've been using Unity for about 3-4 years, and it's incredibly easy to use for those with programming/scripting experience. Unity allows people to save time during development, and allows for concentrating on the game itself, not the graphics, networking, or sound pipeline.
The advantages of Unity are:
+You can build for nearly all major plattforms
+Easy to learn
+Great assets pipeline, which supports most 3D packages
+Great and helpful community and hundreds of useful tutorials
+A big fund as backbone. So this engine will be further developed and getting better
+one of the most optimized mobile engines
So why I give only 7 out of 10?
Well, Unity has unfortunately some really weak points:
-Basic version is free. But if you serious about game development, you will neet to purchase at least the $1500 pro license. Add $1500 for iPhone pro license and a additional $1500 for Android pro license as well. To be fair there are also a cheaper iphone and android licenses. But the crucial features are not included. In my humble opinion, this is pretty pricey for an indie developer on tight budget. The xbox and ps3 license is pretty pricey as well. I know it. But the price is not disclosed.
-no source code by default. That need to be purchased extra and is really expensive.
-dated terrain editor.
-no HDR or gamma correction at the moment.
-weak cloth simulation and no real softbodies.
-no RNM lightmaps at the moment.
-primitive real time shadow maps.
-no fluid physics
-old school tree editor
- No linux support. They are thousands of Linux users who request Linux support on UT's feedback site. There are over 8000 votes for this feature which is ranked #1. But Unity did not even consider it yet. They are too busy to implement promotionally effective features like water shader, and DOF to let it look like UDK or Cry.
Unity is a Jack of all trades, master of none IMO.
If you want to develop for mobile devices and have $4500 lying around, go for it. Otherwise look for some alternatives such as UDK, C4, Cry, BGE
Great engine, easy to use and has a free to use option. It also rewards time and effort: You can make a small game with ****** graphics in a few days/weeks or a beautiful and innovative game over a longer period of time.