There still seems to be some confusion going on here, let me try and add some explanation below:It's a game engine, many people seem to debate what a game engine is but I've never found the definitive that difficult. DX / OpenGL is the core and engines are the tools that manipulate it, I wish every engine developer would realize that. If you're constantly adding toolsets to a fairly closed engine then you might as well have done the rest from scratch. There are renderer templates out there, you can put a basic system together in less than a month.Ohhh it is, try making a game with the OpenGL API then you'll know the true meaning of pain. Then again that's the price you pay for flexibility, the more open and flexible the engine is the harder it becomes to use. CE for a example makes beautiful looking environments simple, but that's because all the core lighting / shadowing / performance / AI and shader properties are all done for you. Don't want to do it there way? Then you'll have to spend additional time reverse engineering how they did it to be able to change something and not break something else.Unity becomes difficult when you start wanting to manipulate the core functions, like you would when using OpenGL directly. Making shaders in Shaderlab, trying to dynamically insert heavy lighting functionality in a closed environment means you'll get stuck in places and adding plugins can be more intensive then creating the API from scratch. We have to remember that not every game needs all the tools that Unity supplies, there are pros and cons to doing it from scratch.. You don't even need an API, you could just have a renderer with some toolbars you disable when you publish the game, kind of like what UE4 does.Compared to what exactly? As opposed to DIY, it's very straightforward as opposed to any other engine it's very straightforward. So let’s boil it down, we have mecanim whilst touchy is great for animation, we have a suite of easily modifiable pre and post, we have beast for baking, we have the slightly hit and miss occlusion culling system and we have a suite of shaders we can easily manipulate the basics like UV tiling. We have the beauty of having lightning fast shader compilation and code compilation, add up the minutes wasted compiling one thing or another in some engines and you can waste a good hour of your day.The API makes sense and it's clean, sub menus of submenus get confusing unless you spend ages learning it all.Well it's not fake, it's aimed at game studios and it's for professionals. Beauty is it's so efficient that you can use it as a hobbyist..I wouldn't be so sure about that, but it is VERY VERY rare I've seen anybody here or anywhere else actually push Unity to breaking point. You need a specific type of game which usually features a lot of staff and a lot of money to be able to make these types of games, as Unity is aimed at Indie developers and generally budgets rarely stretch into the hundreds of thousands, never mind millions. Not to say that small teams can't push Unity to the point of utter failure because I've seen three or four man teams make MMO's that have. But still it's rare..Unity is, it's a great way of entering the games arena without becoming totally overwhelmed and I actually prefer it from a standpoint of experience due to just how damn rapidly you can prototype. But neither do I believe anyone who wants to make a career in 3D games especially should ever limit themselves to learning one engine only. I also believe everyone should at least try and build their own small 3D engine in the likes of LWJGL or OpenTk to expand their horizons, when you come back to Unity then you have a new perspective.All engines do something right and wrong, you have to find out by yourself what that is though.