Every time I make a new project, I have to edit the Package Manager manifest to remove a bunch of things (ads, analytics, etc.), and add my own handy extension method toolbox. Via this thread: https://forum.unity.com/threads/default-packages.530043/ ...I learned how to remove default packages I don't want by editing the manifest.json at C:\Program Files\Unity\Hub\Editor\2019.3.0f3\Editor\Data\Resources\PackageManager\Editor (or whatever the path to the current editor might be). I also figured out that you can add your own custom packages by adding them to the "defaultDependencies" section. However, there's a weird catch; custom packages use the format "packagename": "package git URL" rather than the "packagename": "version" format that built-in packages use. When you create a new Unity project, Unity cares about this formatting, and complains that there's a package with the wrong format, and creates your project with an empty Packages/manifest.json. However, if you delete that empty manifest.json and let Unity recreate it, it won't do that formatting check, and will happily create exactly the manifest file you want. Likewise, if you have any other existing Unity project and want to apply these new default packages, you can just delete the existing manifest and let Unity recreate it and it will be happy. Hopefully someone on the Package Manager team will see this post and throw out that extraneous formatting check on new project creation, or suggest a better method for doing this.