Search Unity

Unity Collaborate Developer Diary #1: Exploring the New Design

Discussion in 'Unity Collaborate' started by StaceyH, Jul 1, 2019.

  1. StaceyH

    StaceyH

    Unity Technologies

    Joined:
    Apr 11, 2018
    Posts:
    42
    As we mentioned in our last blog post, The first steps to a new Collaborate, we are doing a series of “Developer Diary” posts to share what we’ve been working on for Collaborate as we work on it. The first post is now on the blog, and in it we explore the new UI in more depth, talk about command-line support and share some details on the current state of development.

    Check out our latest Developer Diary #1: Exploring the New Design and please use this thread to discuss the design and features that are important to you.
     
    Rafarel, IOU_RAY, UnityMaru and 2 others like this.
  2. JoathrentStudios

    JoathrentStudios

    Joined:
    Jan 27, 2018
    Posts:
    23
    Branching would be good, I like the simplified UI for those that are not comfortable with branching. Hopefully you can keep a simple "my work" and "team work" branching abstraction or something so that I don't have to teach artists how to branch and merge.
     
    naturebytes likes this.
  3. andyz

    andyz

    Joined:
    Jan 5, 2010
    Posts:
    1,101
    The design seems to recreate many existing source control UIs out there but within Unity - which has good & bad points.

    The fact it is tied to your cloud storage solution makes it seem like it is mainly a way to charge for storage space however. If it was just a UI that could attach to any git/svn/perforce server as well as yours it would be better.
     
    Rafarel likes this.
  4. TX128

    TX128

    Joined:
    Aug 22, 2018
    Posts:
    25
    I'm a little bit confused. This looks like a new frontend and backend. Will this work on 2018.4?
     
  5. Korindian

    Korindian

    Joined:
    Jun 25, 2013
    Posts:
    437
    Branching, the restore function for individual files (viewing older versions of files in the editor), as well as a larger dropdown window were the things I was missing from the first version of Collaborate, so it's great to see all of that getting addressed.

    I didn't see it in the videos, so pardon if it's already there, but an "Include all" button for the Advanced View would be nice so we don't have to include every file individually.
     
  6. StaceyH

    StaceyH

    Unity Technologies

    Joined:
    Apr 11, 2018
    Posts:
    42
    Breaking out the UI in some way to show a simplified "my work" versus "team work" is a good idea and I'll talk with our designer about that. Making branching simple is definitely challenging - especially when folks inexperienced with VCS will have to use it in some cases.

    It being attached to our storage gives us the ability to build out features beyond what exists with other VCS providers today. We haven't shared much on those just yet (though our next blog post will talk about one), as right now we wanted to share more details on what you can expect in the very near future.

    Regardless, this is great feedback and something we'll talk about as a team.

    We're still working on the exact version but it is looking likely that the new Collaborate will work with the 2019 series and above. This is because of the front end technology (UI Elements) that is being used.

    Ah, yes this was missing from the design videos but not because we aren't planning on adding it - boy would that be frustrating! :) We're planning on the flow of you multi-selecting the files that you want and push the include button, or really you could just click the top file of the hierarchy depending on what that looks like at the time.
     
    Korindian likes this.
  7. IOU_RAY

    IOU_RAY

    Joined:
    Jul 25, 2017
    Posts:
    16
    I have to say, this is the only thing our team cares about with regards to progress on Unity updates right now; even more care than when nested prefabs came out. These collab updates/features look amazing.

    However, if referring to the past with Unity's team history and communication about how they are working on something within collab and then waiting a year just to be told "nothing yet" doesn't have faith or excitement too high just yet.

    Has there been a major shift in priority on this for Unity to focus on, or should we sit back and continue to get used to/deal with the existing plethora of collab issues?

    Certainly not trying to be cynical here but it has been a very rough year+ with Unity development, leaving a slightly regretful feeling towards Unity Teams. We definitely have strong hopes.
     
    Rafarel likes this.
  8. JoathrentStudios

    JoathrentStudios

    Joined:
    Jan 27, 2018
    Posts:
    23
    In the history view please allow us to view the diff of a file in the commit. We see which files have changed however there is currently no way to see what those changes are. Would be very good if we could select a file from a previous change and do a "view changes".
     
  9. StaceyH

    StaceyH

    Unity Technologies

    Joined:
    Apr 11, 2018
    Posts:
    42
    Do not worry, you do not sound cynical - we understand why you have this feeling and we're committed to doing things differently. Yes, fixing Collaborate is a priority.

    Our hope is that the developer diaries will be a better bridge for communication and collaboration (no pun intended) with all of you. They'll talk about upcoming stuff so you can weigh in and what's been done since the last update so you know where we are at. Let us know if you find that they're missing the mark.

    Great request! I've passed this along to the team to work it into the design. Given how Unity works today, we should be able to incorporate this with code files as you can use an IDE to see the diff (which is where most people would do that when looking at code). We're not able to show a visual diff of the Unity assets (i.e. a scene) as that functionality simply does not exist in Unity currently.
     
  10. JoathrentStudios

    JoathrentStudios

    Joined:
    Jan 27, 2018
    Posts:
    23
    Sweet!
     
  11. Kreep

    Kreep

    Joined:
    Aug 1, 2013
    Posts:
    9
    Used Collab since many years because it's easier for my team to use.

    I seriously miss SourceTree when I'm working on Unity (vs when I'm working on other stuff with Git repositories). The history is SO CLEAR and it is SO EASY to go back to a commit or to open a file to an old state. Collab is a pain. I really hoped that Collab 2.0 would change everything. The only thing it did is remove the "Checking for changes" and the "edit/move" bug but added loooooooooooooooooong rescan phases that sometimes break for no reason and everything became more lame and buggy than it was before.

    I'm now looking for a replacement tool because updates take so long to come that I don't think it will be production ready before at least Unity 2021. And when I'm saying "production ready", I don't mean out of Beta, but working fine for our everyday needs. You know, like not letting a bug that removes your content on the server when you are doing an edit and a move operation at the same time during 4-5 years.

    My suggestions are : fix Collab before thinking about the UI. Then open a tool like SourceTree and learn from it.
     
    IOU_RAY likes this.
  12. Nyphur

    Nyphur

    Joined:
    Jan 29, 2016
    Posts:
    20
    I've read the developer diary and the features sound good, but the focus on UI has me worried that Unity doesn't understand the abysmal state Collab is in right now. There are project-ruining bugs and crashes that are costing people hours or days of work, things like improving the UI shouldn't be in the priority list until Collab works consistently and is battle-tested.

    I've used Collab now on 6 prototypes and one long term project with a team of several people, and so far I've found it to be a massive time waster and a headache to deal with. It causes delays all throughout my team's workflow, doesn't always actually sync us correctly, and frequently just completely breaks with no indication of what's wrong. Most of the time you open the Collab window it throws a very helpful "Something went wrong" error (even if it then proceeds to work correctly), and sometimes the index randomly gets locked.

    Sometimes Unity will crash while updating and delete loads of your files or just completely brick your project, and the only way to recover is to delete your local copy and re-download the whole thing. I've heard of people encountering these issues only to find that the version stored on Collab's servers is also missing files and their work is just gone.

    Then there's the "Checking for changes" dialog and its V2.0 "Scanning" equivalent. It can take upwards of 15 minutes on one of my projects and as far as I can tell it has literally no reason to exist. Other source control systems don't have to scan the project for minutes at a time, so what exactly is it doing?

    When there are conflicts, we have to choose each file individually and it takes several minutes for each one, and most of the time it just doesn't do anything anyway. Clicking the light blue "see all in project" link to view all the conflicts always shows nothing. Restoring to a previous build on the Collab History window never works, and the "Go back to" for earlier builds also never works. And for certain tasks the Collab window won't proceed in the background as for some reason it's waiting for Unity to have focus before proceeding.

    Like everyone else here, I'm not trying to be cynical. I pay for and use collab because a simple built-in solution that works for all of my staff regardless of technical skill is highly desirable. I honestly don't need branching or merging scripts, or diffs, because we have workflows that avoid conflicts. I just need everyone to be able to push their changes to the server and stay updated with everyone else's changes without spending an hour out of every work day staring at loading bars and completely breaking everything at least once a week.
     
    IOU_RAY and Kreep like this.
  13. IOU_RAY

    IOU_RAY

    Joined:
    Jul 25, 2017
    Posts:
    16
    ^ Couldn't have put it better.
     
  14. MarieChristineB

    MarieChristineB

    Unity Technologies

    Joined:
    Aug 6, 2019
    Posts:
    1
    We understand your concern. Rest assured that increased stability is our priority. This is why we are moving away from the homegrown approach and on to more proven technology (Git with LFS). We are rebuilding the backend and front end from the ground up to be more stable and performant. The improvements to the UI are being tackled in parallel to the backend, as we are taking this opportunity to ensure we are building a UI that fits your needs. Our goal is to build for the future while fixing issues from the past. But have no doubt that the UI improvements are not being done at the cost of stability or performance.

    We will give you a more detailed update on the status of the development of the “new” Collaborate in our second developer diary blog post in the upcoming weeks.

    Collab 2.0 was meant to be a stop-gap measure for the “Checking for Changes” blocking dialog that was problematic for some teams while we solve the problem at the root. As we explained in The first steps to a new Collaborate, the “old” Collaborate, which includes Collab 2.0, has been put in sustainment mode as we are working on the “new” Collaborate.

    The issues you are describing can derive from both the client and the backend service. We are rebuilding both as part of the “new” Collaborate and are reworking error messages to better explain issues that are encountered.

    This was originally needed due to the custom technology that the Collaborate service was using. As we are moving away from that, this will no longer be an experience you encounter.

    The single file conflict resolution experience will be a lot faster in “new” Collaborate. We also opened a ticket for exploring batch strategies to help with conflict resolution.

    Thank you for your feedback - it's been very valuable! This is exactly why we're asking for feedback on the UI. Creating a great Collaborate experience requires work on both the back and front end and us understanding the issues you've encountered will help us meet that goal so you can focus on the fun stuff. :)
     
    Nyphur likes this.
  15. Nyphur

    Nyphur

    Joined:
    Jan 29, 2016
    Posts:
    20
    Thanks for the detailed responses to my feedback. I think most of the issues with Collab come from Unity rolling its own tech for things that already exist, so I do believe that the new system based on Git LFS should resolve most of these problems. I want to stress how urgent this problem is though, you're currently charging for usage on a collaboration / source control feature but you don't have a working production-ready system yet.

    I'm looking forward to the developer diary, but is there any ETA on when we might get this feature in our hands? Even a ballpark ETA would help me figure out if it would be easier to change to a working tool like SourceTree and invest in developing new workflows for it and training staff to use it. If it's coming relatively soon, I'd rather just work around the problems for a while so I don't have to force artists to learn Git commands etc.

    Many of us don't need all the advanced features or fun stuff or a perfect UI. I would hope you'd release it in some form once you have a functional and robust repository experience, even if it's single-branch and fast-forward only, and then focus on the UI/UX after. Is that possible?
     
    Kreep likes this.
  16. JoathrentStudios

    JoathrentStudios

    Joined:
    Jan 27, 2018
    Posts:
    23
    Honestly collab is pretty good as is just with some bugs (as is meaning not the 2.0 version). I hope it doesn't get overly complicated as this is a feature where quality is the feature. Make it work please.

    Thanks.