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.
Unity3D passes as mediocre for me.
I love the fact that it's heavily optimized for lower end machines and people who want to get their feet wet in the world of game development. But if you're looking for a more realistic game, unless you pay $1500 for the engine or $75 for a subscription, you will be drastically disappointed because the free version of Unity is lack luster. It simply doesn't have the "great features" that Unreal Engine 3/4 or CryEngine 3 provides. It's way to expensive for those who want a great looking game and make it presentable to Kickstarter, IndieGoGo, and Patreon. I can see where 3rd party support would come into play, but if you don't have backers to get you and your team the money you need to make your game believable you are stuck with a poorly planned and designed feature set.
I've played around with Unity, I loved the time I spent with it but the fact that's it's free version is so restricting when it comes to serious game development is where I parted ways with it.
I would recommend to everyone who wants to create a realistic looking game, I would opt for alternatives to Unity such as CryEngine or Unreal Engine 4, heck, even Leadwerks Game Engine. Sorry Unity, you could be great if you just lifted the silly restrictions and make it more affordable for people just starting out I would probably go back to you.
Here's why I think it's a pass via comparison:
Let's start with Unity3d's feature set. You only get next generation visuals and options if you pay a ridiculous subscription fee of $75 or a wallet burning $1500, still uses baked lighting which is dated technology (if you're using the free version) perks of Unity though and the reason why I didn't rate it below a 5 is the fact that you are free to distribute your game however you please (commercial or otherwise) without the need to pay the creators of Unity "royalties" I believe. But, most hardcore gamers are looking for prettier games. However, casual gamers won't care one way or another as long as they can play it.
Unreal Engine 4: Oh boy, this one is currently what I'm using. Features Xbox One, PS4, PC, and Mobile distribution as well as Occulus Rift support for an easy price of $19 per month and 5% royalties to Epic Games if you make over $50,000. So what happens if I cancel my subscription? Not a thing, you still get all of next generation features and a huge community and great tutorials with some of them created by Epic Games themselves.
CryEngine 3: I've used it but moved on, since it's restricted to First-Person type of games unless you're star Citizen. You get all of the next generation features for free, but it's glory is halted by a small community and a company who is currently facing financial trouble. You have a free model and a subscription model and there is no real difference between the two, except that the subscription model allows you to sell you game with no royalties due.
I cannot stress enough that everyone should go for something more this generation unless you want a basic looking game.
A good quality engine that can offers a lot and the games show it. Unity truly is worth investing in and many many products have been made on it. Popular Steam products as well! If you want a easy but flexible engine to make a game with, then Unity is the right choice.