Source Control (Github Specifically)

Why is source control so difficult to setup and use. It seems to be for me the dead end for every single project I try to make in a team.

Is there any simple method of simply going from UE4 -> GitHub Repo?

So first off the situation is that I myself have worked on an Unreal Project and now I have some teammates and we want the project to be based on Github or some other free cloud based source control solution. The issue is some files have gotten to the point where they won’t upload due to being too big. We have used the default “Unreal Engine” git attribute and ignore file types. We tried to setup LFS but we’re struggling a little bit.

The problem with Git LFS is that when using the Github desktop app it’s completely intuitive and you can set a couple of file extension types to ignore which works well for files like .umaps. However, the problem I have is there seems to be a file with the extension .VB.db which I think is the cache for something in Visual Basic and I would suspect it would be generated by the project so there would be no need to keep it. The gitignore is unaware of this file and it ALWAYS tries to push it, I have tried setting LFS to track it and yet it still tries to push it to the main repo anyway.

How are a bunch of artists that work in Cinema 4D or Level Designers supposed to understand any of that. Why is it not as simple as pressing the **** button and Git will just send the files over 100mb into LFS automatically. All I want to do is have a project that runs in the cloud and is updated when somebody changes something. Honestly I don’t really care all that much about the backup, it’s more of a bonus.

This is really hindering our game project. If somebody could give me some tips or directions to make things easy or more straight forward that would be a massive help. But at the moment everytime I try and push the git project it just gets rejected due to “Project.VC.db” being around 300mb. Any fast replies on the matter would be greatly appreciated as my team is waiting to get going. I know this is very likely not a problem with Github and UE4 and that I just don’t have the knowledge to do what I need, so sorry if this question is quite nooby.

My advice is to use Perforce and follow this guide: Using Perforce as Source Control | Unreal Engine Documentation
what you have to do is rent from a cloud provider (Amazon or Microsoft) a virtual machine, then connect via remote desktop, install perforce server and open the related ports.

You could do the same with Git but not really on GitHub, I’m pretty sure there is a limitation on how big each file/project/repository can be (in terms of file sizes).

What you could do is to sync the project files with github but use other ways (like google drive) for .uassets files, sadly .uasset is an overused and propertary extension in ue4 and not really compatible with any source control, so you can’t really achieve any good source control setup as far as I see it

p.s.
in the link above there are also the extensions needed to be sync, so if you need them you can take the list from the perforce guide even if you use git

I appreciate the advice, it’s just we are quite a small indy team with not alot of money so buying perforce isn’t really an option for us. Cloud hosting would be possible however

Perforce is free to use

no problem here with using git and github with large files, but I am not using UE editor support , I prefer using a git gui client, in my case is GitUP. I am not using LFS though.

I ran into the same problem and it took me ages to fix. I should write something up about it. I use Mercurial and TortoiseHG without problems on large repositories. You’re welcome to use our repository for free if you’d like. (As long as your project won’t grow into the tens of GBs. We have maybe 200GB of space left.) Send me a private message if you’re interested.

I actually managed to get GitHub and Unreal Engine to play nice together. It’s just a bit of a fiddle to get properly setup with GitLFS. There is one particular thing that was seemingly completely undocumented which is a cache file with the file extension VB.db which is some sort of database that can just be ignored in GitHub.

Process to get GitHub + Unreal Engine working nicely together

  1. Downloading GitHub Desktop
  2. Creating a local Repo
  3. Moving My Project files into it
  4. Adding .umap into the GIT LFS section in GitHub Desktop
  5. Ignoring the MyProject.VB.db file in GitHub
  6. Publishing the repo to my GitHub account.
  7. Load the Project up
  8. Connect to source control (Git)
  9. Celebrate Success

Thanks for the offer @Parvan but we managed to get our source control working perfectly now :slight_smile:

No problem. Glad to hear :slight_smile:

We’ve been using Unfuddle. It’s not free, $20 a month. It has a Git repo and as well an issue tracker that has worked very well. No problem with file sizes.

Glad you figured your version control problems out. However if I recall correctly GitHub is only free for repositories and you have to pay to have private repos for your team. This might have of course changed but just wanted to point that out.

When I last studied version control options I ended up using BitBucket as repository and SourceTree as GUI tool. They’ve been working great and BitBucket allows private repositories for free. Although I think there was some size limitation to repository but I’ve not hit it yet so it has not been an issue for me (yet ;)).

I’d like to apologize for reviving this but the link I shared before is a 404 now.

It’s 2022 and I’d like to note:
Uploading your project(s) is actually quite easy now. Just push a button within Visual Studio.
No complicated setup like GitLFS or anything. Visual Studio handles everything related to git.

  1. install git and GitHub extensions.
  2. Use add to source control button.
  3. choose Github as your remote repo.
  4. done. Just keep using the commit button.

Tutorial with images if you need one:

1 Like

Thank you so much for this and the tutorial!

1 Like