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 and GetFinalPathNameByHandleW 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