I’ll chime in with how I go about. No perforce or git needed, just folders on your pc.
Find your project’s folder, the one that contains your content folder and .uproject file as well as all the other folders. Duplicate that. Ctrl+C, ctrl+V.
Rename the folder so you have two copies of your game project, like “MyProject_001” and the duplicate, “MyProject_002”. Inside the duplicate do the following:
- Delete the Saved, DeriveDataCache, and Intermediate folders.
- Rename the .uproject file (unreal gets fussy when the name is more than 20 characters) it can be different than the folder - this is what shows up in the launcher
- Launch the project, it will rebuild the previously deleted folders (this prevents build errors when you go to package your game, thank me later!)
- Zip the previous project and put it in a dedicated folder for previous projects in case you need to revert or look at stuff. Zipping saves some space.
If you make builds they will be in the Build folder. I recommend making backups the same way with their own dedicated folder in case you want to play previous versions. You can delete the Build folder before zipping if you so choose.
Source control has it’s perks, but mostly for programmers. I use BP and make art, so I keep track of it manually. Save and backup often, you can also toss insignificant backups; pain comes from being too curious and changing too much in hopes it fixes the problem. My two cents.