Introduction to dynamic workspaces (Windows)
Note: Dynamic workspaces are currently only available on Windows operating systems.
Dynamic workspaces rely on a virtual filesystem so that Unity Version Control (UVCS) can display your entire directory tree, but only download the files that you require. This means that if you have a large workspace, you can still access the workspace quickly because you don’t need to download every file:
- Dynamic workspaces use a Least Recently Used cache system, so you can control the space that workspaces use and remove files that haven’t been recently accessed to free up space.
- Dynamic workspaces use the same cache for multiple workspaces that point to the same repository, which means you can make as many copies as you need from the same local content.
Refer to more information on how to enable dynamic workspaces.
Change detection
If you move a file in your dynamic workspace, UVCS is involved because it controls the underlying virtual filesystem. This means that UVCS can detect any moved files or directories precisely.
Download prediction
Dynamic workspaces use data from all active users in your repository to generate a predictive usage model. For example, if you read a file foo.c
, and it’s likely that you’ll read 100 other files after, UVCS starts to download them in parallel so that one by one fetching of files doesn’t slow down the process.
Known issues
The following issues might affect how you use dynamic workspaces:
Stop PlasticFS before you update UVCS
PlasticFS is the executable that enables dynamic workspaces. The UVCS update process can't automatically stop plasticfs.exe
, so before you update your UVCS installation, you need to manually stop PlasticFS. Right-click the PlasticFS icon in the system tray and select Exit.
Unity Accelerator
Dynamic workspaces perform better with Unity projects that use Accelerator than with standard workspaces. If your Unity project doesn't use Accelerator, dynamic workspaces will only work on Unity versions 2021.2a and higher.
Feature limitations
- The Go to Files feature in Visual Studio doesn't work with dynamic workspaces. This happens due to an internal issue when the virtual file system is mounted via
DefineDosDeviceW
andGetFinalPathNameByHandleW
in Windows. - The dynamic workspaces only handle controlled changes. This means that you check out files instead of having local changes. This also means that you can’t locally modify a file that is locked.
- You can’t transform a dynamic workspace into a partial workspace.
- The cloaked rules aren’t supported for dynamic workspaces because you can decide which files to download.
Slower performance
The performance of the dynamic workspaces is much slower when the Windows Real-Time Protection is enabled. For faster performance, you can add exclusion rules for the plasticfs.exe
process and the for paths where your dynamic workspaces are located.
Additonal resources
- Refer to the information on how to enable dynamic workspaces for your UVCS desktop application and the command line.