I've done professional development with Unity and here's what I think: Unity is awesome if you're creating a prototype or if your project is small. I would not recommend it for a team of more than 3-4 people.
It allows you to get started quickly and make very rapid progress in the beginning.
It makes it easy for a single artist, programmer and level designer to collaborate.
It encourages poor architecture.
Large teams will have to jump through hoops to coordinate without ruining each others work.
I'm sure this opinion will be unpopular, but these are the conclusions I came to while working with Unity.
Note: we worked in C# and attempted to use Object Oriented design wherever possible.