While coding we meet sometimes one of our deamons: should I refactor what I see? The dilemma: develop as it is or "rewrite" it?
Unity3D seems to be a great software for rapid prototype development. It certainly is but when properly used. You're alone with your prototype? It's OK but I was the other case. When it comes to collaborate there's a belief that nothing will change during the process of development. Well, the reality is that the teamwork does change a lot. If you dare to work with team using Unity, then you may find my experiences useful to you.