Introduction to the Version Handler (deprecated)
Manage shared Unity plug-in dependencies, upgrades, and uninstalls with the Version Handler component.
Important
This feature is unsupported and will be removed in a future version of the package.
The Version Handler component of this package manages:
- Shared Unity plug-in dependencies.
- Upgrades to Unity plug-ins, including cleanup of files from previous versions.
- Uninstalls of plug-ins that are distributed with manifest files.
- Restoration of plug-in assets to their original install locations if assets are tagged with the
exportpathlabel.
Note
The Version Handler doesn't work with Package Manager-installed packages because it must modify asset metadata. In addition, the Version Handler doesn't affect EDM libraries.
Use Version Handler managed plug-ins
If you import multiple versions of a plug-in and the Version Handler is enabled, it checks managed assets automatically and determines which are outdated or should be removed. To disable automatic checks, disable the Enable version management option in the Assets > External Dependency Manager > Version Handler > Settings menu.
If version management is disabled, check managed assets manually by navigating to Assets > External Dependency Manager > Version Handler > Update.
List managed plug-ins
Plug-ins managed by the Version Handler, for example those that ship with manifest files, can be displayed using the Assets > External Dependency Manager > Version Handler > Display Managed Packages menu option. The list of plug-ins is written to the Console window with the files each plug-in uses.
Uninstall managed plug-ins
Plug-ins managed by the Version Handler, those that ship with manifest files, can be removed using the Assets > External Dependency Manager > Version Handler > Uninstall Managed Packages menu option. This operation opens a window that allows you to select plug-ins to remove. It removes all files owned by each selected plug-in, except files still required by other installed plug-ins.
Files managed by the Version Handler, for example those labeled with the gvh asset label, can be checked to understand if anything needs to be upgraded, disabled or removed. To do this, use the Assets > External Dependency Manager > Version Handler > Update menu option.
Restore install paths
Some developers move assets around in their project which can make it harder for plug-in maintainers to debug issues if this breaks Unity's special folders rules. If assets are labeled with their original install/export path, Version Handler can restore assets to their original locations when using the Assets > External Dependency Manager > Version Handler > Move Files To Install Locations menu option.
Settings reference
Some behaviors of the Version Handler can be configured via the Assets > External Dependency Manager > Version Handler > Settings menu option.
| Property | Description |
|---|---|
| Enable version management | Control whether the plug-in automatically checks asset versions and applies changes. If this is disabled the process can be run manually when installing or upgrading managed plug-ins using Assets > External Dependency Manager > Version Handler > Update. |
| Rename to canonical filenames | Rename files to remove version numbers and other labels from filenames. |
| Prompt for obsolete file deletion | Enable the display of a window when obsolete files are deleted allowing the developer to select which files to delete and those to keep. |
| Allow disabling files via renaming | Control whether obsolete or disabled files should be disabled by renaming them to myfilename_DISABLED. Renaming to disable files is required in some scenarios where Unity doesn't support removing files from the build when importing plug-ins. |
| Enable Analytics Reporting | Enable usage reporting to plug-in developers to improve the product. |
| Verbose logging | Enable a detailed log output that's useful for debugging while filing a bug report or building a new managed plug-in. |
| Use project settings | Save plug-in settings in the project rather than system-wide. |