I still recommend GameMaker: Studio. Besides all of the above mentioned good things about it, there are others. The newer versions introduced "shaders" into the pipeline. Technically, you could use them for 3d, but the best use is for 2d stuff. I'm a fan of "normal-mapped sprites" which can set up really nice lighting effects with sprites. You can use normals you render yourself(if you are using pre-rendered 3d sprites for art pipeline), and there are programs like SpriteLamp(and another one I can't remember) that also help create normal maps for this. Of course there are plenty of other uses of shaders for 2d, but this is a big one.
The feature that isn't discussed that much is the basic simplicity of the software and the programming. It may be considered bad practice by many traditionalists, but there is great speed in the way things work with GMStudio. The resources can be accessed from anywhere. You don't have to worry about drag-and-dropping resources as is normally recommended with Unity(though with some code you can make that go away too). You still have the nice event system, which Unity also has. The GML language is somewhat C-based, and somewhat original. There are advantages to only having 2 variable types(doubles and strings). And yet, you can still have things like data structures, arrays, and working in binary. You don't have to remember where to type in a "new" statement like with C#, but you can still do the basics like function calls, code re-use, data manipulation, etc... that C# can do. And, you can get all that GML code compiled like C++ if you so choose(and buy, as the main disadvantage of GMStudio is that you have to pay to get the best goodies).
Basically, my point is that despite the history of GameMaker's previous versions being more hobbyist, being "toys" and what not, the newest incarnation is actually quite powerful and capable.