Skip to content

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Notice:

I probably won't be publishing to this much anymore. As much as I would like to make my tools open source, it makes more sense to keep them private. I'm working on an avatar and gating these tools behind a license check would help prevent leaking of avatars while not preventing most editing. I have some seriously cool tools and if you ever want access to them, just purchasing one of my avatars will grant access. I hope to make it easy to transfer between projects outside of just what I create but this is why this repo is getting sort of abandoned.

WhyKnot VPM Listing

A VRChat Package Manager listing for WhyKnot's VRChat editor tools. Add this listing to the VRChat Creator Companion (VCC) and the packages below appear in the Add-Package dialog of every Unity project you manage with VCC.

Click to add to VCC: https://vpm.whyknot.dev/ Manual entry URL (paste into VCC's Add Repository dialog): https://vpm.whyknot.dev/index.json

Packages

Package ID Source repo
VRCFury QoL dev.whyknot.wk-vrcfury-qol RealWhyKnot/wk-vrcfury-qol

Add to VCC

The fast path: click https://vpm.whyknot.dev/. The page redirects to a vcc:// handler URL, VCC opens with the listing pre-filled, click I Understand, Add Repository.

If the click path doesn't work (VCC not registered as the vcc:// handler, browser blocks the redirect, etc.):

  1. Open the VRChat Creator Companion.
  2. Go to Settings -> Packages -> Add Repository.
  3. Paste https://vpm.whyknot.dev/index.json and click I Understand, Add Repository.

After either path, open any Unity project managed by VCC. The packages above are now available under Manage Project -> Add Package.

How it works

This repo is purely a listing. It hosts no zips of its own:

release.yml in source repo               this repo's build.yml             GitHub Pages
--------------------------                ---------------------             ------------
  on tag v*:
    build zip + package.json
    create GitHub Release  -----------+
    POST repository_dispatch          |
        rebuild-listing  ----------------+
                                      |  |
                                      |  v
                                      |  fetch all releases of every
                                      |  repo in source.json,
                                      |  download each release's
                                      |  package.json, rewrite url --> public/index.json
                                      |                                      |
                                      |                                      v
                                      |                            vpm.whyknot.dev/index.json
                                      |
                                      v
                              GitHub Releases keep
                              the zips on GH's CDN

The build runs on:

  • repository_dispatch: rebuild-listing -- fired by the source repos right after they cut a release.
  • workflow_dispatch -- manual rebuild from the Actions tab.
  • schedule: cron '0 6 * * *' -- daily safety net.
  • push to main whose paths touch source.json or the workflow itself -- for adding a new package.

Adding a new package

  1. The source repo needs a package.json at root (VPM manifest) and release.yml matching the pattern in wk-vrcfury-qol/.github/workflows/release.yml.
  2. Append { "repo": "<owner>/<repo>", "packageId": "<dev.whyknot.foo>" } to source.json's sources array. The packageId is the expected name field in the source repo's package.json; releases whose package.json declares a different name are skipped (this is how a renamed package keeps historical zips on GitHub without dragging the old id back into VCC). Push to main -- the paths: filter on the build workflow will trigger a rebuild.
  3. Tag a release in the source repo. Its release.yml posts repository_dispatch here, which kicks the build a second time so the new release is in the listing within ~1 minute.

License

Licensed under the GNU General Public License v3.0 or later. See LICENSE for the full text. Same license as the packages it lists.

About

VPM listing for WhyKnot VRChat tools, published at https://vpm.whyknot.dev/

Resources

Contributing

Security policy

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages