I just got kicked into converting one of my old utilities I had put on Github into a UPM package. You can see it here. The process was overall smooth, but there are some issues that could get ironed out: - When working on the package, I generally want to test it in some other project that has the project's github url as a dependency. So the workflow is: 1: make change in source project 2: commit, and push to github 3: update the package on the test project, test the changes The problem here is that there's no good way to do 3. In order to have the package be redownloaded, I have to create a new version and update to that in the package manager in the test project. That's not really ideal for rapid development, especially when the package isn't live yet. So what I ended up doing was to remove and re-add the dependency to force a fresh download. I'd love it if I could force Unity to redownload a package directly in the package manager, for instances like this. - The Samples~ workflow isn't documented yet, after 8 months of it working. You could pretty much just copy-paste from here to here. - The ship has probably sailed, but why the hell are you using JSON for this? It's so. damn. fiddly. to get the commas right. I never manage to make a json file without at least a single syntax error. Unity's yaml-based, and that's so much easier to write. This will probably fix itself if you build a proper pipeline for building packages, but it's annoying to deal with.