Skip to the content.

VRCNext Patches

← Back to index

Source: vrcnext-patches-plugin

Small things VRCNext does not do, done from the page. Each patch is independent and off until you switch it on; disabling the plugin puts everything back.

Media library folders

VRCNext reveals one photo at a time, from the right-click menu on it. There is no way to open the folders the library is scanned from. This adds a button per root — the VRChat picture directory and any watch folders — under Settings → VRCNext Patches.

Unattended sign-in

When VRChat drops the session, VRCNext clears both saved cookies, including the twoFactorAuth one — the very thing that would let the next sign-in skip the authenticator code — and then hands the page the saved username and password so the login form can fill itself in. Every re-login therefore costs a button press and a fresh code. On a connection whose address changes daily, that is a daily chore.

None of that can be fixed from a plugin: the cookie jar lives in the VRCNext backend. What a plugin can do is press the button and type the code.

The secret is stored in plain text

Plugin settings live in ~/.vrcnext-plugins/state.json, unencrypted, and every plugin in the page can read it. Anyone holding that file has permanent access to the account, and an authenticator secret cannot be rotated as easily as a password. Only turn this on for an account where that is an acceptable trade.

A secrets service in the VRCNext Bridge, backed by the freedesktop Secret Service (KWallet, GNOME Keyring), would keep the secret out of the page entirely — the plugin would ask for a code and never see the seed. Until that exists, the warning above stands.

Broken avatars keep their space

When an avatar picture fails to load — a cache entry lost to an unclean shutdown, a deleted file, a 404 — VRCNext hides the image. The card then shrinks to its padding, and the status dot and nameplate frame float over the neighbouring cards; in the collapsed sidebar, where a card is nothing but its avatar, the row disappears outright. This keeps the box, so the layout holds.

It is one stylesheet rather than a script. Replacing the broken image with the initial-letter placeholder an account with no picture gets would mean calling into VRCNext’s own code, which the source policy forbids, and watching a thousand friend cards for broken images is a lot of work for something cosmetic. The trade is that the slot stays empty instead of showing the person’s initial.

Permissions

host:actions and host:events, each narrowed to an exact list in plugin.json: revealInExplorer, scanLibrary, openShortcutFolder, vrcLogin, vrc2FA and the events that answer them. No network access, no VRChat API access, no game log.

Installing

In VRCNext, Settings → Plugins → Install a plugin, with the repository URL:

https://github.com/vrcnext-plugins/vrcnext-patches-plugin

The bridge clones it, checks the manifest, the source policy and the signature, asks you to confirm on the desktop, and rebuilds.

Every release is signed by this key; check it against the one VRCNext shows when it asks whether to trust a new key, and if an update ever says the key changed, stop and ask before confirming:

1bc6-e13e-c44c-3bd0-f5a8-5618-8b9b-919c