Separating Source From Remote Users, Remote Team Workflow


We are thinking about using Unreal Engine, but I have a few questions before we do.

We are a team that is spread out remotely, so we communicate via Online Messaging, with that said, with other prototypes (mostly in C++ and other Rendering API’s) we have programmers access to our Perforce Server, and we would distribute the tools/game engine(after compiling) to the other team members(artists, etc, etc).

How would our workflow be with Unreal Engine? We obviously don’t want anyone having access to areas of our project if they don’t need it. Maybe we should have two source controls, one is for programmers and the other is for others that pull compiled version?