Recs.
Updated
Unity added 2D support with their 4.3 release of the engine. The 2D package comes with options for both sprite sheet animations and bone based animations with the added support of Mecanim, Unity’s new animation solution.
SpecsUpdate
Pros
Pro Great editor
The editor GUI is very powerful and intuitive. It allows pausing gameplay and manipulating the scene at any time as well as progress gameplay frame by frame. It also has powerful asset management and attribute inspection.
This allows it to be more powerful than other, simpler drag-and-drop engines such as Game Maker Studio, although it can take a bit more experience to learn the workflow.
Pro Usable for small and large projects
Games have been made in Unity at all levels of the Video Game industry. If you want to make games, this is a great engine to learn. Learning Unity will teach you the basics for any engine, and if you want to get a job at a big studio there is a chance that you will be working in this engine there as well.
Pro Cross-platform
Unity 3D supports 12 platforms in all, including Windows, Mac, Linux, Web, iOS, Android, and even consoles.
Pro Lots of resources to learn from
Unity3D provides an exhaustive documentation where everything is given a full description supplied by a number of examples as well as video and text tutorials and live training sessions to understand the ins and outs of the engine. In addition there's an ever-growing community that can offer advice to help resolve any situations that may arise.
Along with the official Unity resources, there are many high quality (and often free) third party tutorials available.
Pro Lots of assets can be found in the Asset Store
For those developers who can't afford an artist, or aren't skilled enough to create their own art, Unity features an Asset Store full of a wide variety of free and paid assets that can be easily added to a game. The Asset Store has more than just music and art. It also has code and modules that can be added to games including unique lighting or GUI systems. It also has powerful asset management and attribute inspection.
Pro Well structured
Overall, a coherent engine with a rational approach. People who complain a lot about being forced to hack around it usually do not read the docs, like the one that describe orders of execution, or specific functions hooks and such. Some like to say it lacks raw power where people who are used to standard optimizations have no problem. For example It is not uncommon to encounter users who complain about low FPS but forgot to activate occlusion, flag static elements, activate animations culling, and so on. As for complaints about C#, people who are transitioning from C++ were already bad at C++ before being bad at C#. They often come from the PC world where the sheer power of today's machines is very forgiving compared to the platforms we had to develop for in the 80s~90s. One of their errors is for example to never read this doc.
Cons
Con The official documentation isn't the best
Many video "tutorials" for new users, only explain the basic functions of Unity as they relate to the engine itself. None of them actually show you 'how' to do something, just what is possible in the UI. This makes it rather difficult for a new user to understand the program, and get started.
Recommendations
Comments
Flagged Pros + Cons
Pro Can be used for free
As long as the development company makes $100k or less, it can use the free version of Unity to release games.