Workflow for multiple users with git

I’m attempting a simple experiment to establish a workflow for a small team collaborating on one project with source control enabled via git. Goal is for user1 to setup the repo and project, then have user2 clone it and begin collaborating. I’m using UE4Editor 4.10 on Mac and creating an FPS Blueprint project called “foo” with no Starter Content.

Problem(s):

  1. foo.uproject doesn’t get added to
    git so I’m not sure how user2 is
    supposed to get going, only the
    config and content directories get
    added/committed via Source
    Control->Submit to Source Control in
    UE4Editor.
  2. user1 pushes, user2 clones the repo and manually copies
    foo.uproject from user1, then runs
    UE4Editor foo.uproject and gets this
    crash at ~90% loading on launch:

SEGV_MAPERR at 0x1400000014

rml::internal::internalPoolMalloc(rml::internal::MemoryPool*, unsigned long) Address = 0x101490202 (filename not found) [in UE4Editor-Core.dylib]
scalable_malloc Address = 0x10149094b (filename not found) [in UE4Editor-Core.dylib]

Discoveries:

  1. I tried copying foo.uproject and DerivedDataCache from user1 to user2, same crash on launch
  2. Copied foo.uproject and Intermediate from user1 to user2 and this works. So it appears that the above crash is caused by UE4Editor attempting to recreate the Intermediate directory.

Questions:

  1. If the .uproject is not going to source control, is there a different approach new team members should take to setup a project, integrate with source control and checkout the content?
  2. Is the bug I’m seeing with the Intermediate folder a known issue in 4.10 on Mac?

That error is very strange. Malloc is used to create memory space, if there wasn’t a mention of “filename not found” I would say that user2’s Mac is running out of memory.

I haven’t used GIT with UE4 but I use it via work every day.
Why would the project file not be included in GIT? It would make adding new assets to the project a bit of a pain since afaik all the asset assignment is managed in the project file?

I’m not sure why .uproject isn’t added by default, hoping to hear from SRombauts or someone familiar with the intentions of git for source control inside UE4. Easy enough to add it manually which was my plan but the crash had me wondering if I’m just thinking about this wrong.

I do not believe the .uproject file tracks the assets in a project, it appears to be a small amount of meta-data that associates the Engine:

cat GitTest1_FPS.uproject 
{
	"FileVersion": 3,
	"EngineAssociation": "{D020BC9F-A541-8392-C005-DBA852BAEBF1}",
	"Category": "",
	"Description": ""
}

The .umap file for a given level references all the assets in that level and the integrated source control does add .umap and .uasset files. AFAIK the top level .uproject file is a simple anchor to tell the editor "this is the root director of a bunch of content, meta-data, cached and intermediate build files for a project named “foo” associated with engine “bar” and when the editor launches it recursively scans the directories for various types of content.

RTFM. :). The git project workflow wiki indicates what needs to be manually added, including the .uproject flie.

So, this is no longer a workflow question but a bug report.