I haven’t shipped anything with Unity; last time I used it was early in 2.x, and it was painful enough that I never used it in a live project. I’ve re-eval’d every 6 months or so.
Now I’m onto Unity 3.5, and using it in several real projects that are due to ship this year … positive experience so far. I haven’t run anything on an iPad3 yet (that’s the next thing to try), but it’s treating me a lot better than Unity 2 did.
A few surprises along the way…
There’s still no decent “official” tutorials
There’s some video (yuck), and the first tutorial on the official tutorials page says (in slightly more words) “this is not a tutorial” in the opening paragraphs. Great! WTF?
I did find some basic ones (great for getting you into using of 3D objects *and* scripting together, at the same time) here: http://catlikecoding.com/unity/tutorials/
…and friends and colleagues provided a long list of recommended video-tutorials which I’ve been working through. Some sites have some great “beginner” tutorials, but they peter out in quality as they get more complex. Typically, the videos get more and more long-winded, boring, and a huge waste of time (many sites seem to have a hard-on for 2-hr videos, often for stuff that – if it had been a real tutorial – would have taken 30 minutes to digest. I guess they sell more advertising this way?).
The editor is very clear, self-consistent, and stable
Compared to early Unity 2.x (last time I used it), and compared to most 3D editors, Unity’s editor is very logical, consistent, and simple once you’ve had a 3-minute intro (good luck finding one; best to find a human and ask them to show you).
Overall … compared to most game tools I’ve used over the years … a delight to use. Although I’ve not hit it with any huge scenes yet (that’s where the real test will come; how often will it crash? how badly?)
Also: hasn’t crashed on me at all. Although there’s some occasional glaring bugs even in simple scenes (which is worrying) – e.g. one time, the scene playback engine corrupted itself and started “leaking” settings, which is allegedly impossible – on the whole, it’s decent quality.
(transparent) PNGs aren’t supported
2012, and Unity still can’t (fully) read PNG files. Wow.
(using PNG’s saved from Photoshop – but Unity’s crappy PNG importer screws-up the alpha. Depressing. Back in 2005 I thought we’d seen the last of the world’s “apps with only partially working PNG loaders”. Apparently not)
Javascript and C# sit very happily side by side
This is important for one project I’m working on, where we’ve got a mix of coders with diferrent backgrounds. All of them know ONE OF the Unity languages (C#, Javascript primarily … some other more odd ones too), but there’s no single language that EVERYONE knows. So far, Unity’s had zero complaints about us mixing and matching the script languages.