What is the workflow used for Source Control using PerForce?

Hello! Source Control is the subject!
I am currently working in a collaborative UE4 project, and we are looking for the best possible source control solution that provides a nonintrusive workflow. Currently we have a Perforce server set up, and commiting and pulling works, albeit with a huge caveat; you have to shut down the editor, pull latest revision, and open the editor again to get the most recent changes.
I can’t imagine that people who work with UE4 accepts these kinds of workflows, since having to restart the Editor numerous times has the potential of eating up hours of expensive productive time as the project-file becomes larger.
So, how do you wonderfully experienced people make collaboration over source control work? :>

I thought of using github for the C++ code-part so that merge-conflict can be solved, but I don’t know if that’s “the way” of UE4 development.

I set up the server following this tutorial: Unreal Engine 4 / Perforce Setup - Pt 1 (Server Setup) - YouTube wherein he stated (in year 2015) that this editor restart thing is a bug that is to be fixed.

Annoying list of things:
The in-editor source-control GUI seems to be good at telling letting you “check out” and see what files are different in the depot, but any attempt to “fetch changes” by using the “Sync” function seems useless.
You cannot Sync the files to get the latest revision in-editor, the ! - mark doesn’t go away. If you use the P4V-gui-button “Get Latest” on your workspace while the editor is open you get an error saying something like “failed to rename FILEPATH: Cannot create a file when that file already exists.” that then proceeds to do nothing. If you turn off the editor “Get Latest” works fine though, and when you open the editor all changes can be seen. If you attempt to “Sync” the root folder UE4 crashes.