Me and a few friends are looking to collaborate on a project but i have some concerns.
What if im working on something and my friend is also working on something else at the same time. When i publish my work will he be able to update his and not lose progress?
For that you want to use code repository. It let’s you upload codes and merge/select which changes go into which builds. I don’t know what Unity’s tools are like, but before Unity collab, there were tools like Git. Try this site:
http://www.makeuseof.com/tag/8-best-free-collaborative-tools-programmers/