In our team we currently require everybody to install Visual Studio (Express, but we use Community now since that’s also free). We then submit Source files and everybody builds their binaries locally. They don’t need to open VS to do that, just delete their local ‘Binaries’ folder and the engine can recompile itself when you open it.
The only potential issue is that people can often forget to rebuild their binaries and you end up with people using different versions of the game, so you either need to be hot on enforcing that, or have somebody else build the binaries and submit them. The issue you have then is that people can submit broken binaries that can break access to the project. So you have to weigh it up. You probably still want to submit your source files and have everybody use them, because otherwise if an artist reports a crash he will have less information available for others to debug the problem.
I think Epic’s advised approach is to check in you source code files, but not your solution / VS files. We submitted VS files originally, but they screwed up when somebody added code to the project if people had the engine installed in different locations etc which made life difficult. We got around that problem by making ‘hard links’ etc, but it’s just a ballache. There is one problem at the moment with this method though, you need to regenerate your project files if somebody checks in a new source code file or something, otherwise their local copy of VS won’t pick it up. This is a small caveat, but it means any settings they’ve saved in their VS project file will be lost at that point. Regardless, it’s probably the cleanest workflow we’ve used to date.
The following is what (I suggest) you submit:
The rest should be set to be ‘ignored’ in your SVN client. You could also include a batch script that all end-users will get called ‘Refresh.bat’ or something, which deletes the other folders (Saved, Build, Binaries, Intermediate etc) and regenerates the solution files. That way people will always be up-to-date and on the same page.
I have used both TortoiseSVN and Perforce, and I think Perforce is definitely more intuitive once you have it set up, and less prone to errors / easier to clean up. Tortoise is still a great tool though, and I imagine it’s pretty awesome when used alongside Source Tree or something.