Unity Package Manager was added in 2017.2.x.
When upgrading our project, we saw that it creates a bunch of empty folders for packages in the project folder, as follows:
.
└── Packages
├── com.unity.ads
├── com.unity.ads@2.0.3
├── com.unity.analytics
├── com.unity.analytics@2.0.13
├── com.unity.purchasing
├── com.unity.purchasing@0.0.19
├── com.unity.standardevents
└── com.unity.standardevents@1.0.10
All of them are empty. This raises a few questions:
- Are those empty folders actually used? Removing them and re-opening the project seems to re-create them.
- Do they need to (or should) be checked into the project repository? Since they are generated empty, they cannot be added to Git or Mercurial (which is what we use).
- How do we pick or pin specific packages or versions of those packages? The Unity Package Manager manifest is empty:
$ cat UnityPackageManager/manifest.json
{
"dependencies": {
}
}
- How do we guarantee that our project is built with the same versions across all developer machines and build machines? The last thing that we want is one of the machines to randomly pick a different version of a package and produce different results!
4a. I tried moving the contents of those packages from my local user folder into the project folder and repository, but the moved files do not seem to be used, and instead the ones in local user folder get repopulated.
Some more information, help and guidelines regarding this would be much appreciated!