Download

Version Control System (VCS) strategies

I come from a development background where the project source files never really contained huge amounts of binary data (with that I mean heaps of 3D models, large textures etc). I tried searching the forums for VCS strategies but didn’t see a topic for this. I would be very interested in how others are handling this.

As far as I can tell it’s popular to use Git or SVN for source/text & smaller files while a different VCS like Perforce(P4) should be considered for heavy duty binary files.

For now I’m using Git(Hub) for source & text files. My base project was a FPS C++ template. My addition to the .gitignore files are the following:
Content/
!Content/Blueprints/
!Content/Blueprints/**

Having built for the first time (which creates a lot of new folders) I’m now also considering adding the following as well (to .gitignore):
Binaries/
DerivedDataCache/*
Intermediate/*
Saved/*
*
Any advice on this? Intermediate was there prior to building.
Notice that I choose to have Git store the Blueprints even tough they are binary resources. I push Git commits frequently and I see Blueprints as more sensitive in comparison to other binary resources which I will be versioning less often. Maybe my strategy is off here.

I’m planning on using Perforce(P4) on a local server for the whole Content/ folder (with the exception of Content/Blueprints which Git handles).

Would love to hear what others are doing in regards to VCS. :slight_smile:

Edit: In the end I ended up using the built-in UE source control toolset connected to a local Perforce server.
All the code and project files altered outside the UE editor I version with Git.

There are in fact a few threads on the subject, but a lot of good info can be found in this one. Pros and cons discussed.

EDIT: Google this:

site:forums.unrealengine.com version control