Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
## [2.1.0] - 2023-09-01

Unity Version Control is now available as part of the Version Control Package! You can enable Unity Version Control via Window > Unity Version Control to get started!
If you have previously used the Unity Asset Store Plastic SCM plug-in, you can now simply use this package. Make sure you delete the plug-in from your project.
Removing a previously added Plastic SCM Asset Store Plug-In:

- Select the PlasticSCM folder in the Assets\Plugins folder on the Project tab, then click Edit > Delete
- Close the Unity Editor and open your project again. You will find the Plastic SCM menu item in the Window menu.

Changed:

- Moved the button to invite users to the organization from the submenu to the toolbar.
- Show a message with a link to invite users to the organization after the first checkin.
- Don't write cloudProjectId in ProjectSettings.asset anymore since it should only be managed by Services.
- Added command to support Hub creating a new project, and connecting a project to Unity Version Control.

Fixed:

- Fixed Add to ignored/hidden changes list from the Project window creating a negative rule.
- Fixed Switch to changeset not working on Gluon partial workspace.
  • Loading branch information
Unity Technologies committed Sep 1, 2023
1 parent 1687b81 commit 846374c
Show file tree
Hide file tree
Showing 1,849 changed files with 206,527 additions and 32,018 deletions.
Binary file removed .Server/JetBrains.Annotations.dll
Binary file not shown.
Binary file removed .Server/LibGit2Sharp.dll
Binary file not shown.
4 changes: 0 additions & 4 deletions .Server/LibGit2Sharp.dll.config

This file was deleted.

Binary file removed .Server/NetworkCommsDotNet.dll
Binary file not shown.
Binary file removed .Server/Newtonsoft.Json.dll
Binary file not shown.
Binary file removed .Server/Unity.CollabProxy.Server.exe
Binary file not shown.
6 changes: 0 additions & 6 deletions .Server/Unity.CollabProxy.Server.exe.config

This file was deleted.

Binary file removed .Server/Unity.CollabProxy.Server.pdb
Binary file not shown.
Binary file removed .Server/git2-106a5f2.dll
Binary file not shown.
Binary file removed .Server/git2-106a5f2.pdb
Binary file not shown.
Binary file removed .Server/lib/alpine-x64/libgit2-106a5f2.so
Binary file not shown.
Binary file removed .Server/lib/alpine.3.9-x64/libgit2-106a5f2.so
Binary file not shown.
Binary file removed .Server/lib/debian-arm64/libgit2-106a5f2.so
Binary file not shown.
Binary file removed .Server/lib/debian.9-x64/libgit2-106a5f2.so
Binary file not shown.
Binary file removed .Server/lib/fedora-x64/libgit2-106a5f2.so
Binary file not shown.
Binary file removed .Server/lib/linux-x64/libgit2-106a5f2.so
Binary file not shown.
Binary file removed .Server/lib/osx/libgit2-106a5f2.dylib
Binary file not shown.
Binary file removed .Server/lib/rhel-x64/libgit2-106a5f2.so
Binary file not shown.
Binary file removed .Server/lib/ubuntu.16.04-arm64/libgit2-106a5f2.so
Binary file not shown.
Binary file removed .Server/lib/ubuntu.18.04-x64/libgit2-106a5f2.so
Binary file not shown.
Binary file removed .Server/lib/win32/x64/git2-106a5f2.dll
Binary file not shown.
Binary file removed .Server/lib/win32/x64/git2-106a5f2.pdb
Binary file not shown.
Binary file removed .Server/lib/win32/x86/git2-106a5f2.dll
Binary file not shown.
Binary file removed .Server/lib/win32/x86/git2-106a5f2.pdb
Binary file not shown.
568 changes: 493 additions & 75 deletions CHANGELOG.md

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions Documentation~/AccessRemoteProjects.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Access remote projects

1. In the Unity Hub v3, click **Open** > **Open Remote Project** to see the list of your version control repositories that contain a Unity project.
2. Select the project and click **Next**.
3. Select the Editor version and platform and click the **change version** button.
4. Your local version control workspace will be created for you. The latest version of the project will be downloaded and the Editor will open with the latest version of your Unity project.
13 changes: 13 additions & 0 deletions Documentation~/AddMembers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Add team members

To invite team members to contribute to your project:


1. Click the settings menu (gear icon) and click Invite Members to Workspace.

![Invite members to project](images/InviteMembers.png)

1. In your DevOps version control dashboard, click Add new user.

You can also send invitations and add different permission types for each user.

23 changes: 23 additions & 0 deletions Documentation~/CreateProjects.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Create projects

To create projects:

1. In Unity, open the version control window and click on **Create Workspace**.
It will suggest names for your repository (shared files and history) and workspace (your local copy).

If you wish to use an existing version control repository, click the three dots next to the repository name, and select a repository from the list.

2. Select the type of workspace that fits your needs.

* **local workspace**
With this workspace, you can work with branching and merging.

* **Gluon workspace**
This workspace tailored for artists allows you to pick the files you want to work on and check them back in without updating your whole workspace.

1. Add asset files associated with your project.
version control will display the project files from the asset folder in the **Pending changes** tab. You can choose specific files to include or add all to the repository by selecting the files and clicking Checkin changes.

version control will automatically perform a check in for appropriate folders and files – such as package files and project settings – when it’s set up from the Unity Editor. You can view these in the **Changesets tab.**

Once your initial asset check in is complete, you’re set up with version control for Unity and ready to create.
15 changes: 15 additions & 0 deletions Documentation~/ExistingRepo.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Getting started with an existing Unity version control repository

Suppose you want to start working on a Unity project in an existing Unity version control repository and already have a Unity version control account linked to your Unity ID. In that case, you will be able to open the project straight from the **Unity Hub**. A workspace will automatically be created for your project on your machine.

1. In the Unity Hub v3 Beta, click **Open** > **Open remote project** to see the list of your Unity version control repositories that contain a Unity project.
2. Click the project and click **Next**.
3. Click the Editor version and platform and click the **change version** button.
4. In the Editor pop-up, click the **Migrate** button to migrate your local workspace to a Unity version control workspace
5. Once the migration is completed, click the **Open Unity version control** button.

![Plastic Hub](images/plasticHub.gif)

## Accessing the Unity version control Window

You can access the **Unity version control** window in the Unity Editor by clicking **Window** > **Unity version control**.
8 changes: 8 additions & 0 deletions Documentation~/Get started.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Getting started with Unity version control

You can use Unity version control directly in Unity and is available via the Version Control package in the Unity Package Manager.

Learn more about [Unity version control Cloud Edition](https://unity.com/products/plastic-scm).

* To start with a new version control repository for your project, see [Getting started with a new repository](NewPlasticRepo.md).
* To start from an existing Unity version control repository, see [Getting started with an existing repository](ExistingPlasticRepo.md).
13 changes: 13 additions & 0 deletions Documentation~/GitUsers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Unity version control for Git users

| **GIT**| **Unity VCS**| **Explanation**|
|:--|:--|:--|
| To Commit| To Check in| To Check in is to submit changes to the repo.|
| Commit| Changeset| Each new change on the history of the repo, grouping several individual file and directory changes.|
| Master| Main| When you create a repo in Unity VCS, there's always an "empty" branch. Unity VCS calls it Main.|
| To checkout | To update| Downloading content to the workspace (working copy). This is called "update" because in Unity VCS, "checkout" has a different meaning.|
|| Checkout| When you checkout a file in Unity VCS, you're saying you are going to modify the file.|
|| Exclusive checkout or lock | This is locking a file so nobody can touch it. It’s only useful for non-mergeable files, like binaries, images, or art in a video game.|
| Rebase|| Unity VCS handles branching differently than Git. In Unity VCS, a rebase is just a merge operation.|
| Repository | Repository| Where the entire history of the project is stored.
| Working copy | Workspace| In Git, you have the working copy and the repository in the exact location. You have a working copy and a .git hidden dir with the repository. In Unity VCS, this is slightly different since repositories and workspaces are separated. You can have several workspaces working with the same local repository.
37 changes: 37 additions & 0 deletions Documentation~/Glossary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Glossary

## General terms

#### Ignore file

A special file used in many **Version Control** Systems which specifies files to be excluded from **version control**. In Unity projects, several files can be excluded from **version control**. Using an Ignore File is the best way to achieve this. See [Using external version control systems with Unity](https://docs.unity3d.com/Manual/ExternalVersionControlSystemSupport.html).

#### Project

In Unity, you use a project to design and develop a game. A project stores all of the files related to a game, such as the asset and **Scene** files. See [2D or 3D projects](https://docs.unity3d.com/Manual/2Dor3D.html).

#### Version Control

A system for managing file changes. You can use Unity in conjunction with most **version control** tools, including **Perforce** , Git, Mercurial, and perforce. See [Version Control](https://docs.unity3d.com/Manual/VersionControl.html).

## Unity version control terms

#### Checkin

Checkin is the act of submitting changes to the repo. You must enter a comment in the text box before you can check in your changes.

#### Developer Workflow

Developers have access to the branch explorer directly from inside Unity and easily switch branches.

#### Gluon Workflow

Artists can take advantage of the Gluon visualized interface and workflow from inside Unity.

#### Organization

The organization handles different sets of repositories in the Cloud. Inside the organization, you can create as many repositories as you need.

#### Workspace

Your workspace interacts with the version control, where you download the files and make the required changes for each checkin.
37 changes: 37 additions & 0 deletions Documentation~/MainFeatures.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Overview of features

## Pending Changes

The **Pending Changes** tab allows you to view all pending changes in your workspace. These changes are not checked into the repository. In this tab, you can select which files you want to check in, add a comment, and check in the changes.

![Pending changes tab](images/PendingChanges.png)

**Note** : You can check in a specific file using the version control contextual menu in the project view or the **Checkin** button in the **Inspector** window.

![Inspector window](images/InspectorWindow.png)

In the example below, the user adds a GameScene. They can check in the scene using the **Pending Changes** tab or the **Checkin** option in the contextual menu.

![Checkin using contextual menu](images/GamesSceneExample.png)

## Incoming Changes

The **Incoming Changes** tab allows you to view all incoming changes and conflicts and update your local project. Any changes made to your project prompts an "**Incoming changes**" notification at the top right of the version control window.

**Tip** : Check the **Incoming Changes** tab frequently to avoid facing future change conflicts in your team.

![Incoming changes tab](images/IncomingChanges.gif)

## Project History

Use the **Changesets** tab to view all changes made to your project as they occur chronologically, along with who made the changes and when. You can sort by columns and alter the chronological view of the story.

![Changesets tab](images/ProjectHistory.png)

Double-click any file in a changeset to go to the **File History** tab, and display every changeset. In the **File History view**, right-click on a change and click **Save the revision as…** to restore the file's former state. This is useful if you had previously deleted some logic that you now need.

![File history view](images/FileHistory.png)

You can also view the changes made to a specific file in the **Project view** through a contextual menu, then revert to an earlier revision of the file.

![Revert changes in project view](images/ProjectView.gif)
6 changes: 6 additions & 0 deletions Documentation~/MoreHelp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# More help

To find more information on working with the Unity version control plug-in, see [Getting started with Unity Version control](https://docs.unity3d.com/2022.1/Documentation/Manual/PlasticSCMPluginGettingStarted.html).

You can also post and find questions related to Unity version control in the [Unity forum](https://forum.unity.com/forums/plastic-scm.605/).

24 changes: 24 additions & 0 deletions Documentation~/NewRepo.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Getting started with a new version control repository

**Note**: To start from an existing version control repository, see [Getting started with an existing version control repository](ExistingRepo.md).

You can walk through a straightforward onboarding wizard when creating a repository for your Unity project. This new wizard will help you:

* Set up your account and configure your repository for your Unity project, enabling you to sync to a version control Cloud Edition repository.
* Generate a standard ignore file that prevents unnecessary components of your Unity project from being checked in.
* Automatically do the first check-in so that your repository is in sync with your local changes.

1. Open your Unity project.
2. To access the version control window in the Unity Editor, click **Window** > **version control**:
![version control window](images/AccessingPlastic.png)

3. In the version control onboarding window, complete the steps to continue:
![Onboarding](images/Onboarding.png)

Unity connects your project to your version control Cloud repository; version control automatically creates an ignore file in the workspace for Unity projects so it doesn't track files that shouldn't be part of the repository. It also creates a standard automatic checkin during the initial setup. So now you're all set to start using version control!

![Automatic setup](images/AutomaticSetup.png)

**Note**: Basic version control actions, such as viewing pending changes, checking in changes, and viewing changesets, don’t require a version control Client install. However, if you want to use more advanced features, such as branching and diffing changeset, you will be prompted to download the version control client (if you have not already done so):

![Advanced features](images/AdvancedFeatures.png)
15 changes: 15 additions & 0 deletions Documentation~/QuickStartGuide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Quick start guide

The Version Control package will allow you to use Unity Version Control (Unity VCS) for your projects in the Unity Editor.

Unity VCS integrates version control in Unity that will abstract version control complexity. It will also enable you to work collaboratively on more complex projects by providing additional VCS features such as branching, locking, merging, and a standalone GUI.

The Version Control package follows the Unity support schedule. Currently, supported versions are:

* 2020.3
* 2021.3
* 2022.3
* 2023.1
* 2023.2

[Getting started with Unity version control](StartPlasticForUnity.md)
10 changes: 10 additions & 0 deletions Documentation~/ReconnectCB.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Connect Unity Cloud Build

Unity Cloud Build is a [continuous integration](https://docs.unity3d.com/2022.2/Documentation/Manual/UnityCloudBuild.html#automated-build-generation) that automatically creates multiplatform builds in the Cloud in minutes. You can point Cloud Build toward your version control system to:

* Automate new builds
* Build faster
* Catch problems earlier
* Iterate on your builds more efficiently with agility.

To get started, see [Pay as you go with Cloud Build](https://docs.unity3d.com/2022.2/Documentation/Manual/UnityCloudBuildMeteredBilling.html).
20 changes: 20 additions & 0 deletions Documentation~/TableOfContents.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[About version control](index.md)

* [Quick start guide](QuickStartGuide.md)
* [Create projects](CreateProjects.md)
* [Access remote projects](AccessRemoteProjects.md)
* [Add team members](AddMembers.md)
* [Connect Cloud Build](ReconnectCB.md)
* [Get started with Unity version control](StartPlasticForUnity.md)
* [Get started with a new version control repository](NewRepo.md)
* [Get started with an existing version control repository](ExistingRepo.md)
* [Main features](MainFeatures.md)
* [Pending Changes](MainFeatures.md#pending-changes)
* [Incoming Changes](MainFeatures.md#incoming-changes)
* [Project History](MainFeatures.md#project-history)
* [Unity version control for Git users](GitUsers.md)
* [Glossary](Glossary.md)
* [General terms](Glossary.md#general-terms)
* [version control terms](Glossary.md#unity-version-control-terms)
* [More help](MoreHelp.md)

Binary file added Documentation~/images/AdvancedFeatures.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation~/images/AutomaticSetup.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation~/images/FileHistory.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation~/images/GameSceneExample.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation~/images/GamesSceneExample.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation~/images/IncomingChanges.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation~/images/InspectorWindow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation~/images/InviteMembers.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation~/images/Onboarding.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation~/images/PendingChanges.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation~/images/ProjectHistory.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation~/images/ProjectView.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed Documentation~/images/example.png
Binary file not shown.
Binary file added Documentation~/images/plasticHub.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 7 additions & 0 deletions Documentation~/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# About Version Control

The Version Control package provides an in-editor interface for teams to work with Unity Version Control (Unity VCS).

## Unity Version Control

It is a free Unity plug-in that gives you the ability to use Unity VCS, a leading version control solution, directly in Unity. Get started with [Unity VCS](QuickStartGuide.md).
5 changes: 0 additions & 5 deletions Documentation~/unity-cloud-collaborate.md

This file was deleted.

8 changes: 0 additions & 8 deletions Editor/Assets/Icons.meta

This file was deleted.

10 changes: 0 additions & 10 deletions Editor/Assets/Icons/README.md

This file was deleted.

7 changes: 0 additions & 7 deletions Editor/Assets/Icons/README.md.meta

This file was deleted.

Binary file removed Editor/Assets/Icons/added-file-dark.png
Binary file not shown.
Loading

0 comments on commit 846374c

Please sign in to comment.