54 documented changes.

Version
11.0.16.8101
Released
Jul 6, 2023
Product
Unity Version Control
Unity Version Control 11.x release notes

Unity Version Control 11.0.16.8101

Official notes

New

  1. Change

    All platforms: Introducing Smart Locks

  2. Change

    All platforms: There are many kinds of files that present a challenge for merging content changes:

  3. Change

    All platforms: It is quite easy to see how important it is to apply changes to these assets sequentially and always iterate over their last revision. The creation of parallel histories usually means that some changes are discarded and redone down the line, since conflicts in these files cannot be merged.

  4. Removal

    All platforms: So far, you could set up these lock rules to guarantee that nobody else made changes to the same file at the same time. When you were done, changes were checked in — or unchecked out — and the lock was removed. This "legacy" lock system was devised mainly for artists that work on a single branch, forcing the user to work on the last revision of the branch.

  5. Change

    All platforms: However, protection did not extend to multi-branch scenarios, allowing the creation of parallel changes in different branches:

  6. Change

    All platforms: Yes, both are using the last revision on their branch, but they don't take into account new revisions in other branches.

  7. Change

    All platforms: Now introducing Smart Locks.

  8. Change

    All platforms: Smart Locks are the mechanism that Unity DevOps Version Control uses to track which branch retains an asset for edition, and it works as a baton pass or as a "torch". Even if the file is not exclusively checked out right now, task branches retain the lock and prevent developers from checking out an outdated revision in a different branch.

  9. Change

    All platforms: Moreover, locks are not retained by the users who created them. As long as they keep working with the last revision, other developers can still exclusively check out the file you just checked in! This is true even for multi-branch scenarios.

  10. Change

    All platforms: In other words, Smart Locks ensure a single line of development for assets among different branches while enabling collaboration between developers. Long gone are the days when you needed to keep a physical token on your desk to let your colleagues know that you were holding an asset: Unity DevOps Version Control keeps you covered.

  11. Change

    All platforms: == CREATING SMART LOCKS ==

  12. Change

    All platforms: Smart Locks are here to replace legacy locks, and the new version of the server already uses them from the get go (see details in the 'COMPATIBILITY' section). If you were already using locks, you probably just need to upgrade.

  13. Change

    All platforms: First of all, you need to set up the lock rules (if you don't already have them!):

  14. Change

    All platforms: Note that there are two new optional fields available in the lock rules:

  15. Change

    All platforms: After setting up the rules, you can create a task branch and try to check out a file. The "lock list" subcommand will help you to inspect which locks are in place and their current status:

  16. Change

    All platforms: Within the Desktop GUI, the Workspace Explorer now tells explicitly which files are locked by other users, and they are represented with special icons for clarity.

  17. Feature

    All platforms: Also, a new panel was added to the Desktop GUI and Gluon to display the Smart Locks that currently exist in the workspace repository. Since there, you can release or remove the locks too:

  18. Change

    All platforms: Moreover, this panel is available in both, the Workspace Explorer and the Home View, so you don't even need a workspace to manage the locks of a repository.

  19. Change

    All platforms: Likewise, the same functionality is provided by the WebUI:

  20. Change

    All platforms: See in detail how to configure exclusive check-out using an on-prem server in our administrator guide:

  21. Change

    All platforms: https://docs.plasticscm.com/administration/plastic-scm-version-control-administrator-guide#Chapter7:Configuringexclusivecheckout(Lock)

  22. Change

    All platforms: == LIMITATIONS ==

  23. Change

    All platforms: Even if you bump into such scenarios, none of them are unrecoverable. See the following section.

  24. Change

    All platforms: == REMOVING AND RECREATING LOCKS ==

  25. Change

    All platforms: You might land in a situation where a lock must be forcefully unlocked — maybe somebody locked an asset and forgot to release it, or maybe a lock was invalidated for some other reason.

  26. Change

    All platforms: You can use the Desktop GUI, Gluon, or the WebUI to release or remove the lock. Alternatively, you can also use the "lock unlock" subcommand:

  27. Change

    All platforms: By the way, if you really need to remove a lock entirely, you might want to recreate it somewhere else. You can use the "lock create" subcommand for that. Lock rules already determine which is the destination branch, but you still need to explicitly specify the holder branch, like so:

  28. Change

    All platforms: == COMPATIBILITY ==

  29. Change

    All platforms: You can find more information in the official documentation:

  30. Change

    All platforms: /unity-version-control/smart-locks

  31. Change

    Command-line client: cm update now has its own update report

  32. Improvement

    Command-line client: The update command usually does not show an update report. Instead, it shows a progress bar (if used interactively) or all the relevant events that happen on items as they are updated (a behavior intended for tool automation).

  33. Change

    Command-line client: However, the progress bar does not clearly communicate errors. Now using cm update interactively features an update report at the end, which helps to better understand what happened:

All platforms

  1. Change

    Unity scenes

  2. Change

    3D models

  3. Change

    Images and texture maps

  4. Change

    Sound files

  5. Change

    Excel spreadsheets

  6. Change

    Etc...

  7. Change

    Alice made some changes to `player_icon.jpg` at `/main/level_12` . The scene is waiting to be integrated, and the file is not locked anymore.

  8. Change

    Bob is working on its own branch ( `/main/level_11` ) and makes a quick change to the same file too.

  9. Change

    The "destination branch" — br:/main by default — is the source of truth when creating a new lock: the revision loaded here is considered the last revision. Locks created in other branches are not released until they get integrated back into the destination branch.

  10. Change

    Some "excluded branches" where the lock rules are ignored. Note that you can use wildcards at the beginning and at the end. Excluded branches are matched by name, so bear it in mind when renaming branches!

  11. Change

    Smart Locks do not travel across replicas.

  12. Change

    Replicas might add newer revisions to the repository, leaving the lock outdated.

  13. Change

    Some scenarios involving changeset deletion might leave the lock outdated for obvious reasons.

  14. Change

    Merge-to does not support locks — neither legacy nor smart ones —... yet! Stay tuned.

  15. Change

    Before, lock rules allowed a lockserver field (although this was barely used and could introduce some issues). It won't be supported anymore.

  16. Change

    Old versions of the client can perform exclusive check outs over files, but they won't be able to release Smart Locks, only legacy ones. If you try, you will be prompted to upgrade in order to continue.

  17. Change

    After upgrading, legacy locks already in place will stay as they are. But as soon as files get checked in or unchecked out, the legacy lock will be gone. The next time you check out such files, they will start using the new system.

  18. Change

    There could already be parallel versions of some files (coming from legacy locks, if they were used this way). In this case, some manual operations could be needed to continue working with these files during this transition to Smart Locks. 'cm lock unlock' and 'cm lock create' are here to help.

  19. Change

    Legacy locks will still be supported, at least for a while. Indeed, you can disable the new behavior in the server by adding the following key to the server.conf:

Bug

  1. Change

    All platforms - Desktop GUI, Gluon: Links not properly formatted in release notes

  2. Change

    All platforms - Desktop GUI, Gluon: The release notes were not properly formatted when any link tag was included, we have included a fix in order to accept the different link formats we support.

Pick your Unity version

Unity Releases compares releases against the version your project is on. Picking it now keeps Compare versions focused on what changes between where you are and where you might be going.