Search Unity

  1. Unity 2019.4 has been released.
    Dismiss Notice
  2. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice
  3. Ever participated in one our Game Jams? Want pointers on your project? Our Evangelists will be available on Friday to give feedback. Come share your games with us!
    Dismiss Notice

Best Version Control for Unity

Discussion in 'External Tools' started by Koval331, Apr 5, 2019.

  1. Koval331

    Koval331

    Joined:
    Feb 3, 2019
    Posts:
    114
    Yes, I know there is no the best tool, etc. All I want is your advice. Here are my situation and questions:
    • I want to choose between Git and Perforce.
    • I heard that Perforce is an industry standard but some people on forums say they hate it. Why is that so?
    • I heard that Perforce is much harder to work with when it comes to branches. Is it that horrible?
    • Some people say that Git is not ready for studios despite some of its pros. Is that right as for now?
    • Has something changed as for now with these two tools?
    All info I found was from 2 or more years ago so I want to check if something has changed since then.
     
    leoklima and Gusts92 like this.
  2. MFKJ

    MFKJ

    Joined:
    May 13, 2015
    Posts:
    232
    Hi, did you find the answer? Can you share your thoughts? We are also looking for the best solution with unity. Thanks
     
  3. Siccity

    Siccity

    Joined:
    Dec 7, 2013
    Posts:
    203
    Git. I use this professionally within my company, and I use it personally. It's good for business, it's good for opensource. Merging is a breeze, and getting help is easy. It is very rare to bump into someone using Perforce. I recommend starting with a client like git-fork. I haven't used Perforce myself but I see no reason to use anything other than Git, it's perfect.
     
  4. koirat

    koirat

    Joined:
    Jul 7, 2012
    Posts:
    229
    The problem with unity and source control is that you want to store not only source but also all those GB of assets.

    We used Git in our 5 years project. We had to partition it into multiple git projects in order to push it all onto the server.
     
    AlanMattano likes this.
  5. Siccity

    Siccity

    Joined:
    Dec 7, 2013
    Posts:
    203
    This is why git-lfs was made. LFS stands for Large File Storage. It puts all your binaries on a separate FTP server and only diffs the links in the git history. LFS is a MUST when using git with unity.
    There are plenty of different ways to install LFS depending on your git client, but here's a cli tutorial:
    https://github.com/git-lfs/git-lfs/wiki/Tutorial
     
    koirat likes this.
  6. MathewHI

    MathewHI

    Joined:
    Mar 29, 2016
    Posts:
    179
    You talking about remote storage though right? I made a git repository for my game that's over 2GB right now and tried to push it to bitbucket but failed because there limit is 1GB. I think if your keeping your repository local you can just use git.
     
  7. Siccity

    Siccity

    Joined:
    Dec 7, 2013
    Posts:
    203
    LFS pushes to a separate FTP server which is usually at Bitbucket or Github. They both have limits on how much space you have on your free account. There is probably a way to setup git to use your own FTP server, but i haven't looked into it.
     
unityunity