Search Unity

  1. Unity 2020.1 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

Plastic SCM vs Unity Collaborate - my experience

Discussion in 'Unity Collaborate' started by Rich_A, Nov 3, 2019.

  1. Rich_A

    Rich_A

    Joined:
    Nov 22, 2016
    Posts:
    281
    I switched from Unity Collaborate to Plastic SCM about a week ago. Here's my experience so far:

    The good:
    • No need to download and maintain another Unity asset, it seems to be either integrated into Unity, or comes with the base Windows download for the standalone Plastic SCM application
    • Integrated with the editor: see which files are changed, etc.
    • Branching
    • 'Professional grade' version control, with all of the advantages that that entails
    • Cloud hosting and storage built in. No need to manage your own cloud storage.
    • No 'checking for changes'.
    • Downloading an existing project via Unity Collaborate seemed to take hours just to uncompress the download, compile all scripts, etc. This stage seemed to take only minutes in Plastic.
    • Seems to handle giant files just fine, no need for separate art storage buckets.
    The bad:
    • No Unity-specific documentation, just a few old Youtube videos.
    • Need to setup ignore settings BEFORE you begin to use Plastic, otherwise your wannabe-ignored files will remain in the project forever.
    • Even though all remote users had the full project (40gb), we couldn't figure out how to integrate the project with the local version, so everyone had to redownload the project, costing us about 2 days of productivity. Support was unhelpful.
    • Generally a very steep learning curve
    • This could be solved via proper ignore settings, but Unity projects have about 25% of the project as 'cruft' metadata by size, which is compressed or ignored by Unity Collaborate, but not by Plastic.
    • Unity Collaborate seemed to provide basic scene merging, examining which gameobjects were changed and only flagging conflicts at that level, otherwise allowing the scene to be merged.

    Who is Plastic SCM good for?
    Teams of 2-10 people, who are working on a commercial product, need branching, and can deal with the steep learning curve. Teams who don't want the intellectual overhead of managing Git, and want a version control software specifically designed for games and integrated with Unity.


    Vs Git
    I havn't used Git, but my third-hand knowledge of it is that you need to manage your own storage, your client, and there are difficulties with scripts and art in the same buckets. You pay more to use Plastic, but all of this is handled for you. However, Git might still be better for bigger teams, with the economies of scale to manage their own version control in-house.


    So, who is Unity Collaborate useful for?
    In my opinion, its useful for a solo developer as an upgrade to using Dropbox to manage your backups, and with some basic revisioning. That's it. I would NOT recommend using Unity Collaborate for anything more complex than that, including for more than one person working on the project. All up, I've lost about 2 man-weeks of work due to Unity Collaborate faults over the project life of my title, that could have been avoided if I used better version control in the beginning (less the time needed to set it up and learn it).

    The basic scene merging that Unity Collaborate provides is also nice, but a professional studio should really be managing its project structure and file access regime in order to minimise conflicts anyway.


    Summary: If you have any of these things planned:
    • Post-release major updates to your title
    • Multi-platform releases
    • More than just one person working on the project
    Do not use Unity Collaborate, instead invest the time in getting Plastic SCM setup in the beginning.

    Future
    Going forward, I would recommend Unity just retain Collaborate as a basic backup system. I don't see the point of having a more sophisticated Unity Collaborate product, when there are already good professional-grade version control products out there. Instead, Unity should just extend its partnership with Plastic SCM and make it the official solution for any teams that need something more sophisticated, and provide proper written documentation for users.
     
    Last edited: Nov 4, 2019
    Meceka, newlife and Marc-Saubion like this.
  2. newlife

    newlife

    Joined:
    Jan 20, 2010
    Posts:
    852
    Thanks for sharing your experience, very useful.
     
  3. Rich_A

    Rich_A

    Joined:
    Nov 22, 2016
    Posts:
    281
    Not all smooth sailing. Working with FMOD is a big problem.

    Like most version control systems I guess, Plastic really needs a single expert user to set the project up correctly and guide all users through the correct use. Not easy to do for a remote team, which is possibly why the documentation is so focused on the local edition.
     
    Last edited: Nov 22, 2019
    Marc-Saubion likes this.
  4. Rich_A

    Rich_A

    Joined:
    Nov 22, 2016
    Posts:
    281
    Ok, the newer version of FMOD solves the problem I was having.

    Definitely setup your ignore files correctly at the start of using Plastic. Would be great if Plastic had a standard suggested list of ignore settings for Unity projects that you could select from.

    2 users, 35GB of storage is $33/month. More expensive compared to Collaborate.

    There's a definite learning curve but its working fine for us now.
     
  5. Rich_A

    Rich_A

    Joined:
    Nov 22, 2016
    Posts:
    281
    Without ignore file: 39GB project
    With ignore file: 22GB

    Setup your ignore file correctly as your very, very first step! Its impossible to do it afterwards.

    We just used this one for Git: https://github.com/github/gitignore/blob/master/Unity.gitignore

    Without the correct ignore file, Plastic SCM will not work correctly with Unity, and you will face a lot of problems. Just opening the project in Unity will generate about 2GB ignorable of cache data.
     
    Immu likes this.
  6. Marc-Saubion

    Marc-Saubion

    Joined:
    Jul 6, 2011
    Posts:
    346
    I just found how you can do that.

    Go to the workspace explorer and select whatever folder/file you want to ignore. Press "delete" and Plastic will ask you if you want to delete the file on disk or not. If you keep the file on disk, it will be back to a "private" file that you can put in the ignore list.

    That said, I still agree with you. I also thought this was not possible while this could be a "right click/ignore" option.
     
  7. bigbrainz

    bigbrainz

    Joined:
    Jul 21, 2015
    Posts:
    115
    Their videos describe how to start a project from scratch with Plastic SCM or how to connect to a project that's already in SCM. I can't find how to take a gigantic, existing project and convert it to a Plastic SCM project. Any tips or directions on that specific piece (besides getting my ignore file nailed down)?
     
  8. Marc-Saubion

    Marc-Saubion

    Joined:
    Jul 6, 2011
    Posts:
    346
    You don't really "convert" the project. It's just your files and a plastic special file saying what files/folders are ignored.

    Basically, you make a repo, create a new workspace for it. Copy paste your project in its and have it configured for unity so it will ignore some folders like the library. There is an option to do that automatically in the tips window with the owl.
     
unityunity