Don't get me wrong - I love the support Unity gives. Now for the 'but'. Unity3D treats C# as a scripting language and ties everything together in the Unity editor. Great for design, development and teams with different specialisation, but a bit of a problem tracing when things go wrong.
I'll give you an example. My images, from an atlas, are coming up empty on the iOS build. Viewing the file does not help as the references to data is by GUID, not file name. I made a mistake. I duplicated all the atlases and renamed them back. The preview now worked, but every reference to them from within the editor was now empty. I have no way to find these references except by running the system and looking for null pointer exceptions.
Whinge over for now.