Search Unity

Unity's version control component has been upgraded to Plastic SCM.

[Iris] Initial feedback/bugs on Collaborate

Discussion in 'Unity Collaborate' started by lucidcoder, Mar 24, 2016.

  1. lucidcoder

    lucidcoder

    Joined:
    Mar 23, 2010
    Posts:
    138
    Hi Unity! Just wanted to say thanks for including our team in the beta for Collaborate, we are really excited to have integrated version control and collaboration tools. For reference, our team has experience working with GitHub and Perforce, and we store nightly backups in the cloud via OneDrive, Google Drive, and local hard drives.

    We are going to be posting our experience with Collaborate here since we are respecting Unity's desires to keep this a closed beta, as well as so that Unity can find out about what bugs we find as progress on the game takes place.

    I'm tagging all of these posts with [Iris] after our game, so it's easy to search for later.

    Background
    Just to give a bit of background on the project we are working on: it's an RTS game named Iris Burning, in which players are pitted against one another in multiplayer (2-4 players) or single-player matches to usurp territory and control a central market of Iridium, the third-rarest metal known to man. Players who control more of the iridium market have more leverage over the market price, and can thus drop the price of the central market (thus hurting other players' income), in addition to just straight-up attacking each other's supply lines with infantry, tanks, mechs, and support vehicles. There is also a miniature stock market that allows players to speculate on "companies" that represent perks and extra add-ons and side-quests for the player to tailor their business interests to a particular strategy, military or otherwise.

    Iris Burning is scheduled for a mid 2016 Kickstarter campaign, a March or April 2017 release date, and is currently manned by core team of about 8 people, with 36 total credited contributors.

    Initial Concerns
    We were originally going to use Perforce as our version control, but after seeing Unity's GDC presentation on Collaborate, we were convinced that this was probably a better option, primarily due to the likelihood of merge conflicts corrupting prefabs and compounding the number of times we have to rely on backups when using Perforce.

    Speaking with Unity personnel named Ethan and Dave at GDC convinced us that this was the best action to take, so we signed up and waited.

    Initial Impressions
    Booting up the editor for the first time, after waiting on the initial reimport of the project folder, I noticed that Collaborate was already jumping on the opportunity to prompt me to do setup. During this time, the editor froze and became very unresponsive at an intermittent frequency. The main game scene has lots of foliage using a wind shader that does simple sine-wave vertex deformation, and this was still rendering correctly in realtime, so it was the editor UI thread that appeared to be hanging.

    I was able to eventually get the Collaborate pullout menu showing, although it seemed to be accepting keystrokes at the same intermittent rate as its responsiveness. Eventually, I was able to peck the words "Initial commit" into the changelog, and press the magic button, and all was well: the upload commenced, and finished in a reasonable hour and a half. After this, the intermittent freezing stopped.

    For a large-ish project such as ours, upload times are slow. We have about 25Mbps upload speed in the main studio, so we expected it to be such. However, our download speed is more than double this, and for some of us on the same (non-wired, LAN) connection, even when running the downloads one computer at a time, we found it to be very sluggish (a 4.6 GB project took nearly 3 hours to download). This is not a major concern, but something of note.

    Actual Collaboration
    We published our first commit, and we were able to sync it across all the other machines, who were able to verify the changes were successful, make their own changes, and publish counter-changes. Awesome! This is enough to get us started, and not having to worry about corruption is very nice. We still run nightly backups with redundancy just in case, but having a cloud-backed project is really quite a worthy luxury.

    First Bug
    I have only one actual bug to report thusfar: When publishing a commit, if you have newlines (Return key, or \n character literal) in your commits, they do not display correctly in the changelog. So if your changelog has

    - bulleted lists like this
    - to indicate multiple changes
    - in case it's a larger, sweeping commit

    it will end up looking like - bulleted lists like this\n- to indicate multiple changes\n- in case it's a larger, sweeping commit.

    It's annoying, cosmetic, and probably easy to fix, but it needs to be said. I'm not sure if there are places for me to file bug reports, but I'll put them here just in case so someone sees it.
     
  2. quixotic

    quixotic

    Administrator

    Joined:
    Nov 7, 2013
    Posts:
    122
    Thank you for the awesome write up! We have a bug open for \n, and please give us all of the bugs (and annoyances) you find. If you run into an issue, please report a bug from within Unity through: Help > Report a bug, then give us the bug number here. That makes it much easier for us to look at bugs!

    Do you guys use any other Unity services, like Cloud build?
     
    Last edited: Mar 24, 2016
  3. lucidcoder

    lucidcoder

    Joined:
    Mar 23, 2010
    Posts:
    138
    We utilize Analytics, and are looking to use Ads in a mobile add-on game for this one. Cloud Build is unfortunately out of our budget at the moment as we pay contractors, however it does interest us.

    We also started this project before Unity Multiplayer was made available for general use, so we are presently using Photon Cloud for networking. In spite of that, we're looking into using Unity's multiplayer services for other projects, such as the aforementioned mobile game, because the documentation of uNet has improved drastically and we'd like to cut out middleware and plugins wherever we can.
     
  4. Jwolf

    Jwolf

    Joined:
    Sep 8, 2013
    Posts:
    17
    I was able to get Collaborate setup quickly on a new clean project and an older project that is just a few scripts. Seems like a simple and easy to use system. Love the potential.

    However, when I tried it with my current project which is much larger (7+ GB - bloated with some SFX and animation assets) I have a similar experience to Sigma with the editor freezing and only accepting intermittent inputs. I was able to slowly get back to the services window and turn off Collaborate and the editor works smoothly again.

    I dumped most of the unneeded assets and got the project size down to about 1.4 GB. At this point I am now able to use Collaborate and can see the progress bar updating as files are pushed up to the cloud. The editor is not 100% smooth, but it is usable while the project is uploading.

    I have been able to sync the project from my PC to my Mac fairly effortlessly.

    This seems like progress, but I'm a bit concerned that usability seemly (at least loosely) tied to project size.
     
  5. thierry_unity

    thierry_unity

    Joined:
    Jun 10, 2015
    Posts:
    187
    We have a couple of different fixes coming for those kind of slowdown, the issue isn't much about file size than the number of files being handled on both the server and the editor.
    We have a short time fix for the server side limitation which will require you to publish multiple times until we come with a more solid solution.

    cheers!
     
  6. Jwolf

    Jwolf

    Joined:
    Sep 8, 2013
    Posts:
    17
    Good to know.

    As a side note Unity 5.4 so badly broke my main project (animator not firing right on main character) that I'm not using 5.4 or Collaborate with it. :( I spent a couple hours trying to fix it,no errors where being thrown, but just couldn't figure it out. I may give it another shot at some point.

    For now I'll use Collaborate with smaller or new projects.
     
  7. quixotic

    quixotic

    Administrator

    Joined:
    Nov 7, 2013
    Posts:
    122
    :( Have you posted anything in the 5.4 beta forum? Would you be willing to file a bug and send us a bug number? An editor log would be really helpful.
     
  8. Jwolf

    Jwolf

    Joined:
    Sep 8, 2013
    Posts:
    17
    I haven't anything to the beta forum. It has something to do with my scripts... I could get the animator working on the same model minus the scripts that control other functions. I think its just a matter of sitting down and toggling script on/off until I could find the offending script OR rebuild the prefab, but its not a simple rebuild. Mostly be lazy on my end.

    I should add I'm getting close to a new build for testers and hopefully a final build for a Steam release, so I'm not wanting to muck about too much.