Let's say that me and other programmers won't work at the same place so we must work remotely. We will be using unity3d. How can we do it?
This is not a business question. You will get better replies if you ask this question in the programming sections. We're probably dealing with source control here.
and more people want to join the team.
That's good. Do you need these people though? You need to balance your will to let them in and the need to have them working. Otherwise, you'll end up overstaffed.
I also got an 3D artist and 2 programmers
What is the 3d artist proficient with? modeling? rigging? animating? texturing?
If he is a superstar in all of the above, then you could probably go ahead with just him for all characters and environments (props, etc.)
Basically, you need as many staff as proficiency you need to fill, then you need to balance across all teams to insure steady flow. If you come to a point where 2 programmers are waiting on art production to move forward, hire another artist and break down the ownership of the first (maybe he just does characters from now on, and the new guy takes charge of the landscapes/environmental props).
Otherwise, you need as few people as you possibly can. The reasoning here is that there is a gain with having to deal with fewer people. If your timeline allows for this, you should do so accordingly. Most of the time, teams scale up to hit a date (which in turn prevents the game from feeling out-dated at the time of release).