Unity is amazingly easy and quick to use–on a par with Flash only more fun–but NOT because it’s simple or limited in its power. Asset import is easy (drag and drop easy) but it’s not a mere drag-and-drop authoring tool. It’s quick to use because it’s well-designed, reliable, predictable, and has a MASSIVE list of features, which actually do just what they claim, reliably and predictably. Did I mention reliable and predictable? You have to debug your game logic, not the underlying engine, because that engine has been tested to death. That’s why you don’t need source code for the engine itself. The things you need to “fix” at low levels in other engines (Torque-choo!) don’t need to be fixed in Unity.
The flexibility you have includes:
- A massive dictionary of powerful scripting commands (for JavaScript, C#, or Python/Boo) that give you more flexibility than would believe. It’s not in the same league as other “scripting” languages at all. Torquescript may not do all you need, and leave you digging into the lower levels. But Unity’s scripting WILL do all you need*. Start exploring here to get a sense of Unity’s scripting power–and then realize that you also have access to .NET (though you probably will never need it) on top of that:
http://unity3d.com/support/documentation/ScriptReference/10_reference.Classes.html
(And Unity’s included text editor links directly to the documentation, to help you make use of all that power.)
Scripting is not “drag and drop”–it’s text-based–but assigning scripts TO objects is drag and drop, and assigning objects TO script is drag and drop too. (Though you can use pure scripting for that and locate objects by name, tag, etc. if you wish.)
-
*If scripting can’t cover something, then you can write C# plugins to extend (not replace) the low-level engine. (Plugins require Pro - but I don’t hear of much need for them other than to support custom peripherals.)
-
You can write your own shaders in various ways.
-
The GUI inspector links to the scripting in very streamlined and effective ways. Your script variables automatically become editor GUI items that you can tweak while your game runs, seeing the results in realtime.
And then you can export in one click to Mac, Windows (with Pro), Web (and later Wii). That won’t work so well in an engine where you have to tweak the low-level engine just to get your game to work.
Performance and quality are excellent. I’m sure you’ll see many more 2.0 examples posted in these forums soon. We’re talking faster scripting than Flash, and MUCH faster than you expect JavaScript to be. It gets compiled–nothing like slow JavaScript on a Web page. (You can use C#, but JavaScript seems to be the most popular.)
As for specific examples: my game Clockwork 360 (still in progress) took me two solid weeks start to finish. That included reading a few tutorials–I started completely cold, knowing nothing about Unity, and had a working game a day or two later, which was fully fleshed out not long after that. Most of the remaining time was spent tweaking and perfecting things: improving the feel and the fun factor, adding extra effects, etc. And that two weeks wasn’t just the Unity work, it included all the 3D modeling, textures, programming and debugging. Complete with very customized mouse control as well as keyboard control and even gamepad control. It was my first JavaScript work of any complexity, my first days with Unity ever, and my first real 3D game. (I’d done a 2D version in Flash and Director that I was unhappy with–and which ran far slower than the vastly-better Unity version.) Because I was in the worst part of the learning curve, I made some mistakes and had to re-do some stuff. It was still just two weeks of work, so tackling the same thing today would probably take me one week. (That’s to build one level. I’ve added two other levels since then, and each was done in ONE long sitting–including, again, modeling and textures and sounds. My dominoes level was conceived after midnight, and built before I went to bed! Rather late, admittedly…)
My game was not any kind of “best case”: it was not based on “what the engine could do” nor on any of the tutorials. It was a game concept I’d been working on for years, and was not willing to compromise on. I demanded that the engine bend to do exactly what I wanted–and it did. I used physics for some things, programmed pseudo-physics to get the right feel for other things, and it all integrated just fine. And ran nicely on old machines too.
Play here:
http://adamsi.com/clockwork
Unity makes very extreme claims–but it’s one of the rare software packages that lives up to the claims. There is no other tool that can remotely compare to it, on any platform (I have searched–some show promise, but nothing else delivers like Unity now). A year later I am still astonished by the product, and wishing I could shove other parts of my job aside and work with Unity full-time! One day… 
If cash is tight, the Indie version just dropped to $199. You can make money on Mac and Web/portal versions, and then afford the Pro upgrade to ship for Windows later. Graphically, you’ll have to do without realtime reflections and shadows, and post-processing effects like bloom, until you get Pro. But you can retrofit those goodies in later. Meanwhile, Indie can do some nice skybox reflections, rippling water, parallax mapping, lens flares, particles, full physics… lots of eye candy.
You won’t need the Asset server. Even without that server, you save a change in Photoshop or your 3D program, and your running game reflects the change instantly. No import step needed. (Though some 3D apps require an export step. I use Lightwave.)
I never had any complaints about Unity’s GUI power, but it’s now far better than it was. My only complaint was the lack of easy multiplayer support. And now they’ve added that. Oh–and Undo is very limited (might still be with 2.0). It’s never gotten me into trouble once I was used to that, but I do wish for multi-level Undo that applied to ALL operations.
One of the tutorial links is broken (the new site need a few fixes I think) but these links work:
http://unity3d.com/support/documentation/examples
http://unity3d.com/support/documentation/video
Try the free Indie trial. Most likely you can get your whole game re-built in 3D within the trial period with time to spare, and then $199 won’t seem like much. You have the skillset to get used to Unity quite quickly I expect. (I don’t–and I still dove in and got stuff done on day one!)