Skip to content

Commit 3f42a95

Browse files
committed
Update README and uplugin for upcoming release 1.9.0 with View Branches support
1 parent 22e0aa7 commit 3f42a95

8 files changed

+45
-24
lines changed

PlasticSourceControl.uplugin

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"FileVersion": 3,
3-
"Version": 83,
4-
"VersionName": "1.8.3+dev",
3+
"Version": 90,
4+
"VersionName": "1.9.0",
55
"FriendlyName": "Unity Version Control",
66
"Description": "Unity Version Control (formerly Plastic SCM)",
77
"Category": "Source Control",

README.md

Lines changed: 43 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ This plugin is not intended to replace the [Desktop Client](https://docs.plastic
1616
or [command line interface "cm"](https://docs.unity.com/ugs/en-us/manual/devops/manual/uvcs-cli/version-control-cli).
1717
It is a complementary tool improving efficiency in your daily workflow with assets in Editor.
1818

19-
It automates tracking status of assets, brings common source control tasks inside the Editor, and provides visual diffing of Blueprints.
20-
It also helps import an existing Unreal Project into source control, with appropriate *ignore.conf* file.
21-
Since Unreal does not manage C++ source code, but only assets, the plugin is especially useful for GDs and artists.
19+
It tracks status of assets, most notable locks, brings common source control tasks inside the Editor, including updating, branching and merging, and provides visual diffing of Blueprints.
20+
It also helps import an existing Unreal Project into source control in a simple operation, with appropriate *ignore.conf* file.
21+
Since the Unreal Editor does not manage C++ source code, but only assets, the plugin is especially useful for tech designers, level designers and artists in general.
2222

2323
## Table of Contents
2424

@@ -37,6 +37,8 @@ Since Unreal does not manage C++ source code, but only assets, the plugin is esp
3737
- [Source Control Windows](#source-control-windows)
3838
- [Redirectors](#redirectors)
3939
- [Detect Changes on other Branches](#detect-changes-on-other-branches)
40+
- [Branches](#branches)
41+
- [SmartLocks](#smartlocks)
4042
- [Merge conflicts on Blueprints](#merge-conflicts-on-blueprints)
4143
- [Workflows](#workflows)
4244
- [Mainline](#mainline)
@@ -121,7 +123,7 @@ Else, if you want to rebuild the plugin for a Blueprint project:
121123
4. Right-click on your project's **.uproject** file, **Generate Visual Studio project files**.
122124
5. In Visual Studio, **Reload All** and **Build Solution** in **Development Editor** mode. That's it, the plugin is built (resulting dlls are located in _Plugins\UEPlasticPlugin\Binaries\Win64_).
123125

124-
To release the plugin, zip the _Plugins_ folder. But before that, remove the _Intermediate_, _Screenshots_ and _.git_ folders, and also the big *.pdb files in _Plugins\UEPlasticPlugin\Binaries\Win64_.
126+
To release and redistribute the plugin, zip the _Plugins_ folder. But before that, remove the _Intermediate_, _Screenshots_ and _.git_ folders, and optionnaly the heavier *.pdb files in _Plugins\UEPlasticPlugin\Binaries\Win64_.
125127

126128
### Project Setup
127129

@@ -400,7 +402,29 @@ Warning when trying to checkout an asset that has been modified in another branc
400402
Warning when trying to modify an asset that has been modified in another branch:
401403
![Warning on modification for an asset modified in another branch](Screenshots/UEPlasticPlugin-BranchModification-WarningOnModification.png)
402404

403-
### SmartLocks
405+
#### Branches
406+
407+
The plugin now offers full support for branches, including the ability to create, switch to and merge branches from within the Unreal Editor,
408+
reloading assets and the current level as appropriate.
409+
410+
View Branches window:
411+
![View Branches window](Screenshots/UEPlasticPlugin-Branches-Menu.png)
412+
413+
See the workflows sections below for a discussion about [task branches](#task-branches).
414+
415+
Creating a new child branch:
416+
![Create Branch Dialog](Screenshots/UEPlasticPlugin-CreateBranch-Dialog.png)
417+
418+
Renaming an existing branch:
419+
![Rename Branch Dialog](Screenshots/UEPlasticPlugin-RenameBranch-Dialog.png)
420+
421+
Merging a branch into the current one:
422+
![Merge Branch Dialog](Screenshots/UEPlasticPlugin-RenameBranch-Dialog.png)
423+
424+
Deleting the selected branches:
425+
![Delete Branches Dialog](Screenshots/UEPlasticPlugin-DeleteBranches-Dialog.png)
426+
427+
#### SmartLocks
404428

405429
[Meet Smart Locks, a new way to reduce merge conflicts with Unity Version Control](https://blog.unity.com/engine-platform/unity-version-control-smart-locks)
406430

@@ -413,8 +437,6 @@ In case you ever use branches with binary assets without relying on exclusive ch
413437
you will encounter cases of merge conflicts on binary assets.
414438
You have to trigger the resolve in the Unity Version Control GUI, but then skip it without saving changes in order to let the Editor present you with a visual diff.
415439

416-
TODO: take screenshots of Unity Version Control GUI
417-
418440
Branch explorer showing the merge pending with an asset in conflict:
419441
![Merged branch with a pending conflict resolution](Screenshots/UE4PlasticPlugin-MergeBranch-Pending.png)
420442

@@ -450,23 +472,24 @@ If you try to use a full workspace (with Unity Version Control GUI instead of Gl
450472

451473
##### Task branches
452474

453-
Handling of binary assets works best in only one branch (regardless of the source control used)
454-
since they cannot be merged, and since they increase the cost (time/bandwidth) of switching between branches.
475+
Handling of binary assets typically works best when working all together in a single main branch (regardless of the source control used).
476+
This is because binary files cannot be merged, and since they increase the cost (time/bandwidth) of switching between branches.
455477

456-
But with Unity Version Control you can use branches that are easy and cheap to create and merge:
457-
using them for code will enable you to leverage the built-in code review on these branches.
478+
But with Unity Version Control you can use branches that are easy and cheap to create and merge.
479+
Using them for code will enable you to leverage the built-in code review on these branches.
480+
And in combination with [SmartLocks](#smartlocks) and the full in-Editor [Branches](#branches) support,
481+
you can now use them safely for binary assets as well!
458482

459-
Note that some studios also use task branches for assets, and include them in their code reviews.
483+
Note that some studios have always been using task branches for assets, and included them in their code reviews.
460484
Unity Version Control locks extend to all branches, preventing two people from working at the same time on the same assets regardless of the branch they are one.
461-
The plugin also offers [some branch support to warn users if an asset has been changed in another branch](#branches-support).
485+
The plugin also offers full branch support [and warn users if an asset has been changed in another branch](#branches-support).
462486

463487
To use branches, you would need to also close the Editor before switching from a branch to another, and before merging a branch into another:
464488

465-
1. create a child branch from main using the Desktop Client
466-
2. switch to it, updating the workspace, with the Unreal Editor closed
467-
3. start the Editor, make modifications and checkout assets
468-
4. then check-in the assets (remember to save everything, or close the Editor to make sure of it)
469-
5. close the Editor
489+
1. create a child branch from main using in-Editor Branches window
490+
2. switch to it immediately, updating the workspace, and reloading assets
491+
3. make modifications and checkout assets
492+
4. then check-in the assets (remember to save everything, the toolbar now has a button to track the number of unsaved assets)
470493
6. create a code review from the branch
471494
7. create a new task branch from main or go back to main to merge branches
472495

@@ -538,10 +561,11 @@ eg:
538561

539562
This version here is the development version, so it always contains additional fixes, performance improvements or new features compared to the one integrated in Engine.
540563

541-
### Version 1.8.3 2023/10/12 for UE 5.0/5.1/5.2/5.3 and UE 4.27
564+
### Version 1.9.0 2023/12/21 for UE 5.0/5.1/5.2/5.3 and UE 4.27
542565
- manage connection to the server
543566
- display status icons to show controlled/checked-out/added/deleted/private/changed/ignored/not-up-to-date files
544567
- Smart Locks: display locked files, retained locks, on what branch and by who
568+
- Branches: manage branches from a dockable window. Create, rename, switch, merge and delete.
545569
- Detect Changes on other Branches, to check outdated files vs. remote across multiple branches
546570
- show current branch name and CL in status text
547571
- add, duplicate a file
@@ -568,7 +592,6 @@ This version here is the development version, so it always contains additional f
568592
- xlinks sub-repositories (for Plugins for instance)
569593
- Toggle verbose logs from the Source Control settings UI
570594
- Run 'cm' CLI commands directly from the Unreal Editor Console, Blueprints of C++ code.
571-
- Use custom icons on UE5.1 for files locally Changed (not checked-out), locally Deleted, Conflicted and Ignored
572595
- Supported on Windows and Linux
573596

574597
### Feature Requests
@@ -589,8 +612,6 @@ This version here is the development version, so it always contains additional f
589612

590613
### Features not supported
591614
Some are reserved for internal use by Epic Games with Perforce only:
592-
- Branch and Merge workflow: not handled by the Unreal Editor
593-
- Directory source control status: not handled by the Unreal Editor
594615
- tags: get labels (used for crash when the full Engine is under Perforce)
595616
- annotate: blame (used for crash when the full Engine is under Perforce)
596617

32.1 KB
Loading
17.4 KB
Loading
7.77 KB
Loading
8.11 KB
Loading
8.37 KB
Loading
25.6 KB
Loading

0 commit comments

Comments
 (0)