If you need more information, read the [Documentation](https://docs.unity3d.com/Manual/upm-dependencies.html#Git) for package dependencies from git.
Code style is as dictated in [Unity Meta](https://github.cds.internal.unity3d.com/unity/unity-meta).
There are IDE Specific code style configs under the `Config/` directory in the above repo.
## Overview
Source code for the packages is contained within the `Editor/`
and the tests are in `Tests/`. The structure of the package follows
the **MVP** pattern with a separate directory for each group of classes
and interfaces.
Here are some files and folders of note:
```none
<root>
├── package.json
├── README.md
├── CHANGELOG.md
├── LICENSE.md
├── Third Party Notices.md
├── QAReport.md
├── Editor/
│ └── Collaborate
│ ├── Unity.CollabProxy.Editor.asmdef
│ ├── Assets/
│ │ ├── Icons/
│ │ ├── Layouts/
│ │ ├── Styles/
│ │ └── UiConstants.cs
│ ├── Models/
│ │ ├── Api/
│ │ │ └── ISourceControlProvider.cs
│ │ └── Providers/
│ │ └── Collab.cs
│ ├── Views/
│ ├── Presenters/
│ ├── Common/
│ ├── Settings/
│ ├── Components/
│ ├── Utilities/
│ └── UserInterface/
│ ├── Bootstrap.cs
│ ├── WindowCache.cs
│ ├── ToolbarButton.cs
│ └── CollaborateWindow.cs
├── Tests/
│ ├── Collaborate
│ │ └── Editor/
│ │ └── Unity.CollabProxy.EditorTests.asmdef
│ └── .tests.json
└── Documentation~/
├── unity-cloud-collaborate.md
└── Images/
```
-`Editor/Assets/` directory of the collaborate assets.
-`Editor/Assets/Icons/` directory for the collection of icons (png) used in the UI.
-`Editor/Assets/Layouts/` directory for the collection of layouts (uxml) used in the UI.
-`Editor/Assets/Styles/` directory for the collection of styles (uss) used in the UI.
-`Editor/Models/` directory of the models in the MVP architecture.
-`Editor/Models/Api/ISourceControlProvider.cs` interface for source control providers. Just Collab for now.
-`Editor/Models/Providers/Collab.cs` backend for providing the interface between this client and collab in the Unity Editor.
-`Editor/Views/` directory of the views in the MVP architecture.
-`Editor/Views/Adaptors/` directory for the list adaptors used in views.
-`Editor/Presenters/` directory of the presenters in the MVP architecture.
-`Editor/Components/` directory for the collection of UIElements components used in the UI.
-`Editor/UserInterface/` directory for the window and toolbar button source code.
-`Editor/UserInterface/Bootstrap.cs` code to bootstrap the toolbar button when the editor starts.
-`Editor/UserInterface/WindowCache.cs` code to cache the state of the window during domain reload.
-`Editor/UserInterface/ToolbarButton.cs` code to create and manage the collab button in the toolbar.
-`Editor/UserInterface/CollaborateWindow.cs` code for the window itself.
-`Tests/Editor/` directory of the client tests.
Each directory contains a README file with additional details about what is contained within them, including code
examples.
## Package Information
For more info on packages and best practices, visit the [package-starter-kit](https://github.cds.internal.unity3d.com/unity/com.unity.package-starter-kit) repository and read the documentation.
## Known Issues
* [COL-1079] The history window doesn't correctly distinguish local vs remote changes
* [COL-573] Publishing new versions of some packages in Collab results in Cannot Copy File error
* [COL-1083] Error message for opening diff tool on conflicted file when none are installed is not very helpful. Workaround is to install and select a supported diff tool in the Preferences->External Tools window.
* [COL-1084] Triggering a domain reload while Collab History tab is open disables the UX until the Editor is focused. Workaround is to click onto the Editor a second time.
* [COL-1085] Go Back To commit in 2020.1 with pre-v1.2.17 in package manifest breaks Collaborate window. Workaround is to open project in a version of Unity older than 2020.1.0a13 where pre-v1.2.17 packages are supported.