Currently all packages are installed on a project domain and added to the project’s manifest.json.
While that makes sense for most packages that add features/APIs etc. there are some packages such as “com.unity.ide.rider” or “com.unity.quicksearch” that would be more reasonable to add to an application wide scope.
Due to them being dependent on the developer workflow and not on the project this has 2 reasons:
- Developers that use those features probably want them application wide without having to add the package to every project
- When installing them on project scope and adding them to manifest.json those tools are installed for all developers collaborating on that project, even if they don’t use it. The project would work just fine without installing those packages.
Thus I propose the addition of different install scopes/domains similar to npm’s --global flag.
Whether the scope should be dependent on the creator setting a flag in the package’s manifest (package.json) or the user installing the package might be up for debate.