The compiler(MonoDevelop) makes things a breeze too.
MonoDevelop is NOT a compiler at all. It's an IDE that supports multiple languages.
I'm a big fan of Unity3D. They've done an amazing job with it, in my opinion. Throwing together a simple outdoor environment, with a drag n drop 1st or 3rd person controller takes only a couple of minutes. That will give you a textured terrain, trees blowing in the wind, water, a skybox, shadows (static, baked), etc.
Coming soon is an all new GUI Builder as well, which should ease the pain of coding your game HUDs and menus.
That said, for me, depends on the project I'm working on. These days, I use Unity3d for my more casual game projects, and udk for my bigger, more graphically heavy, project.
Either way though, I can not recommend unity3d highly enough.