Teamwork for Unreal Engine 5 C++

Me and my friends are planning to work together to develop a game using UE5 C++ (Not BP). We are looking for ways implement a version control like GitLab (we have used this together in one of our college course), is there a similar tool of this for UE5 project? Can a repository store all of the C++ codes and the assets (Basically like if i pull from the repo, will the whole complete project be transfered to my local mac)

And also i want to ask whats the proper way to send the C++ project from a mac to a windows machine and have it run normally. I tried to do so before and it just doesnt work correctly, i think it could be the because of the fact that its a C++ project instead of BP so it just doesnt get transfered that easily. I would really appreciate if you guys can help me with this.

Hey @BobDaBuilder183!

Have you looked into Perforce? It has worked well for me in the past, and it does have built in compatibility when setting up version control in Engine.

Let me know if the above solution works for you!