As with any software project, it is important to use some form of source control solution. For most software projects, there are a number of good solutions out there. However, in the world of game development, most of these are not viable since they won’t handle binary files very well, and unreal engine (as most games) will have a large amount of binary resources.
Perforce is a good tool for small teams since it is free for teams with less than 20 developers.
Another thing that can be confusing is what files/folders to add into the source control. Generally, we do not want to include any files which can be auto-generated (e.g. builds) or are transient (e.g. logs). You should generally include the following folders into source control
- Config
- Content
- Intermediate/ProjectFiles/<projectname>.vcxproj* (the .vcxproj.user file may not be relevant if there are multiple developers)
- Source
- <projectname>.sln
- <projectname>/.uproject
I found it odd that the project file is in the intermediate folder since one wouldn’t intuitively think to include it in source control