Search Unity

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

Initial impressions/feedback from 3-man team

Discussion in 'Unity Collaborate' started by Wriggler, Aug 1, 2016.

  1. Wriggler

    Wriggler

    Joined:
    Jun 7, 2013
    Posts:
    133
    Hey folks, thanks for the invite to the Collaborate beta. Initial impressions are that the service looks great, and we're keen to make the jump over.

    Our current system is a hosted Subversion repository, and we use GUI client apps to administer (macOS users use Cornerstone, Windows users use TortoiseSVN). This works great for the programmers who are used to source control systems (and their foibles), but is really difficult for our artists. Programmers can look at filenames and know what's inside, whereas artists are much more reliant on the in-editor preview to figure out which materials, textures or prefabs are which (filenames aren't too helpful - preview icons are king). This introduces potential for human error when switching between the Unity editor (to identify the asset) and Cornerstone/Tortoise (to actually commit/revert/move/rename it).

    Collaborate has the potential to fix this problem, so we're super excited to give it a try. We're a team of three and are using 5.4f3. We've hit a few blockers whilst getting started though, so thought I'd post these below:

    • No option to ignore files/folders. This is a problem for us, as our workflow has us individually build new features/functions in ignored folders, and only push to the rest of the team when it makes sense to do so. Our ideal implementation would be to right-click any unversioned asset/folder in the Project tab, and have a "Ignore/Unignore" menu option on the context menu.
    • No option to selectively publish individual files. Very rarely do we want to publish the entire changeset at once, as we're usually working on several different features at the same time. Ideal implementation would be to have checkboxes on the "Collab" dropdown menu to include/exclude certain files from the commit.
    • Reverting folders with changes frequently gives errors and the operation doesn't complete correctly. The Collab drop-down menu gets stuck in the "Reverting..." state, and the only solution is to restart Unity and try again. Sometimes after restarting the change isn't detected and you get stuck in a bad place. General reliability in this area isn't great.

    The above are the blocking issues that are stopping us using the system right now. We've also noticed a few weird foibles which would greatly increase the usability of the system:

    • The Collab dropdown menu is locked to one size and can't be dragged around and docked like other tabs. This is pretty annoying; we'd really want to drag this around and get a better view of view of what we're about to commit. The Collab History tab is perfect; can the commit tab work like that?
    • In the Collab dropdown menu the file changes should be in a collapsible nested view. It's really difficult to parse hundreds of changes if they're not sorted into folders. I understand the need for clarity when doing simple commits, but the existing interface is too simplified in many situations. For example, when moving/renaming a folder you're shown a massive long list of all files in that folder. If several folders are moved then you could easily have thousands of files with no way of quickly figuring out which files came from where. Let's say you want to revert one of those name changes - it's a huge pain to scroll through the list looking for the top-level node.
    • Whilst we're talking about renaming/moving folders, would it be possible for the Collab window to only show the specific folder that has been renamed/moved rather than every single file within it? I understand that the underlying changeset will need to include that information, but it would be nice if the Collab window could parse that data and hide any unnecessary details. Ideal implementation would be that if I rename a folder I only see one pending change in the Collab window, rather than the 500 changed files that folder contains.
    • There should be an option in the Collab window to tick several changed files and revert all of them at once. Please make sure it's possible to tick one file and then shift+tick another to do a group select, and also support cmd+tick to add/remove items from the selection. At the moment it's a real pain to revert hundreds of files individually.
    • As I mentioned at the start of this post, our main problem with our existing SVN workflow is that we can't see the visual previews of materials/prefabs, etc. in our SVN clients. The Collab drop-down menu has the exact same issue: it doesn't use the preview icon that the Project tab uses, so it's difficult to figure out which pending changes are which when you have hundreds of files to commit. Our ideal fix would be to have a much greater relationship between the Collab drop-down at the Project tab: they should use the same preview icons, and you should be able to single-click in the Collab window to locate the file in the Project tab. The Collab window should have a search and filter field (just like the Project tab) - ideally those search fields are linked so that both windows share the same search results.
    • Further to the above point, the project tab should provide integration with Collaborate. I should be able to click on individual files/folders and publish/revert them right from the Project tab. It should also allow recursive changesets, i.e. I should be able to right-click on a folder in the Project tab and select "Publish changes in this folder", and it'll bring up the Collab menu with just the changes scoped to the folder I right-clicked on. I think this is probably the most important change you guys could make to the current system.

    ...and some smaller issues:

    • Users which don't have permission to invite new users to Collaborate are still shown the "Invite teammate" button in the Collab drop-down. This should be hidden - only users with the correct permission should be offered that functionality.
    • When first using the Collab window, the icons showing whether a file was flagged for add/delete/etc. didn't show up initially; it was just a blank space. After clicking around a while the icons did load up, and once they were loaded it seems like they work every time now. That initial loading (downloading?) phase was confusing.
    • The "See differences" button isn't working on my macOS install right now. I've set DiffMerge as my diff tool of choice, but receive this error in Editor.log when I try to run it: "Could not launch ~/Applications/DiffMerge.app/Contents/MacOS/DiffMerge." No suggestion as to why it couldn't be opened - any ideas?
    • When reverting large changes (especially for things like reverting a moved folder) I feel like this should be a blocking action. The revert operation takes quite a while to complete, and the user has full access to move files or do whatever they want whilst it completes. It feels like the user shouldn't be able to mess with these files whilst the revert operation is in progress.

    Apologies for the enormous brain dump. We're really keen to start using Collaborate, but it seems like there are quite a few usability issues that would need to be ironed out before we can roll it out to our team. As source control is such an important mission-critical part of all of our businesses I think you'll encounter resistance from devs unless it's 100% usable, trustworthy and reliable.

    Keep up the good work folks, and let me know if you need any more details on any of the above. Thanks!

    Ben
     
    andrew-lukasik likes this.
  2. Wriggler

    Wriggler

    Joined:
    Jun 7, 2013
    Posts:
    133
    One more small thing I forgot to add:

    • When clicking on a project in the "In The Cloud" section in the Open Project window, it's not obvious that this is to check out a brand new version of the project. I thought it might find my local working copy and open that up instead, but it then prompted for a file location and I got confused by the whole thing. Perhaps there could be a button next to the project called "check out a new version", or something?

    Ben
     
  3. quixotic

    quixotic

    Administrator

    Joined:
    Nov 7, 2013
    Posts:
    122
    Thank you for all of the feedback!

    Being worked on right now! Version one of this feature will be a text file you can edit, because we wanted to turn around the fastest version.

    Also being worked on right now! For this one we're adding a right-click menu option to "publish" that lets you publish just what you've selected in the project browser.

    Weird, have you filed a bug on that? Will you file a bug and kick me the number?

    Known issue of weirdness on our end, sorry about that! Recommended workaround for the moment is to launch DiffMerge manually, you can also right click, diff on file.

    I will carry the rest of your feedback into our product backlog, thank you very much for all of it. It's hugely helpful receiving this much information, especially in our beta state!