The first steps to a new Collaborate
Developers have hit many challenges with Collaborate — our solution for managing changes to project source files. We’ve started to rebuild Collaborate from the ground up to be more stable and feature-rich and to support large projects and teams.
With the recent release of Collaborate 2.0.0-preview-15, we want to share with you what we’ll be working on next. Our goal with Collaborate is to continue to provide a simple user experience for those of you not familiar with the complexities of version control while still folding in new advanced features for those of you who are.
Before jumping into the future, we thought it would be good to talk about how we got to where we are today.
How we got to where we are today
We knew that we needed to stabilize Collaborate before we could start working on features many if you have been asking for, such as branching, better diffing and supporting large projects. To that end, we identified multiple areas that needed to be addressed:
- We need to move away from the homegrown snapshot architecture and on to more proven technology. The custom snapshot logic is the reason you see many of the bugs we have.
- Being built directly into the editor greatly limits our ability to ship quickly. We have to follow the release schedule of the editor, which causes delays in fixing issues you face by weeks to months.
We started to address two of the issues above with 1.3.0-preview.2. Our most significant change began moving Collaborates proprietary snapshot solution to a Git-based solution. Also, we started moving Collaborate to a package, available through the Package Manager. In addition to fixing some really nasty bugs, the release also taught us a very valuable lesson: being in a hybrid state of new and old technology was worse. For every bug we fixed, several more popped up. We finally had to admit the truth, it was time to start fresh and rebuild Collaborate.
Before we could do that, we wanted to take care of one more major ask that you had for us — Checking for Changes. This was accomplished with release of 2.0.0-Preview-15, which now has a manual rescan feature alongside the removal of the blocking dialog.
Looking to the future
The 2.0.0-Preview-15 release marks the end of the “old Collaborate” era. This means that it will be put into sustainment mode with a high bar for fixes. Moving forward, we will start fresh with a creating a new and highly improved Collaborate UI that is stable, feature rich and will work great with large projects and teams.
Based on the lessons we have learned, the new Collaborate UI will:
- Have most of the code in the package, reducing the dependency we have on the Unity editor release cycle.
- Leverage existing Git LFS technology to perform version control operations rather than custom logic, increasing stability for both small and large projects.
- The client UI will take advantage of the existing UI Elements tools, further increasing stability. It will also no longer be a hover window.
- Have features you have been asking for, such as branching, single file restore without rolling back, a robust history window that shows you everything, and much more.
Here’s a sneak peek into early mockups for the new UI, which are subject to change based on the feedback we get from you during our UI study. You can see the new simple and advanced publish workflow, where the branching UI will live, and that the publish and history UIs will be different tabs in the same dockable window. The next round of mockups that we share will include more detail on the robust search workflow and single file restore.
We will share our progress with you and talk more about new features, such as workflows to better support large projects. So please join us on the Collaborate forum and stay tuned to this blog!
How you can get involved
We would love for you to participate throughout development! If you’re interested, here are a few things that you can do now:
- Sign up for the Collaborate UI study and provide critical feedback on the designs that we have. (For those of you who have signed up — thank you! You should be hearing from me within the next week.)
- If you just want to provide general feedback on features that you’re interested in, you can post them on the forum. We always monitor our forum and may reach out to you to set up a call to discuss your posts in more detail.