Correct workflow when using multiple computers. Any opinions?

There’s no forum about about the editor in general so I post here.
What workflow do people use who develop a project and use multiple computers during development? I am using Perforce and when I did some stuff that I need on another machine to test the multiplayer options, I check into perforce then check out on the other side. That’s not really efficient because in my view VC should archive versions based on features or workstage but not serve as a tube for synchronizing.
I recently came across a tool named “Goodsync” that seems to be better suited for that. It basically synchronizes files on multiple computers, but I am a bit concerned that it may mess up projects due to errors, since an UE project is not just a collection of unrelated files but many files have references to each other and if a tool messes up and one file is missing here or there, then the whole project can be messed up. So far I had no problems with perforce, but I find more and more checkins in the version history that are useless to me because they are just marked as “added node X to BP to do Y” and other stuff that’s really not a milestone but just one of many steps to finishing a certain features. So there are too many intermediate steps checked in that are useless in themselves and only serve as a transport vehicle to the other computers.

What workflow do others use for such a scenario?


Ideally you “misuse” Perforce to keep the one master project/repo in sync with the whole team and make regularily backups of the whole repo, e.g. local harddrive. I know this in not the versioning on the source-control side for wich Perforce, Git and other such solutions are primarliy made, but thats the workflow that has proofen to be the best so far. Even Epic themself uses Perforce.

I looked into Goodsync a bit and I must say it looks like a bad idea now to use it because it would mess with the VCS. When you edit an asset on machine A for instance and then synchronize it over to machine B before it’s checked in, now you have it on B in readwrite state which will confuse the VCS on that machine since it wasn’t explicitly checked out. Probably there are other problems as well.
I believe now that using a VCS for synchronizing is the better solution after all