Modding VRChat: Difference between revisions

From VR Wiki
No edit summary
 
(7 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{Warning|Modding VRChat is against their Terms of Service.  You WILL be banned if they catch you, even if you use defensive mods only. So, don't be stupid and don't be obvious. Don't paw at jubblies while flying around in publics.}}
{{Warning|Modding VRChat is against their Terms of Service.  You WILL be banned if they catch you, even if you use defensive mods only. So, don't be stupid and don't be obvious. Don't noclip around in publics while spamming emotes.}}
 
{{Warning| 99% of this is irrelevant now with EAC blocking easy modding. While not impossible, mods are easier to report, and are usually paid-only closed source packages that include EAC bypasses. Highly unrecommended.}}


VRChat has a storied history of modding, not all of it good. Many mods exist, ranging from basic UI tweaks to massive overhauls.
VRChat has a storied history of modding, not all of it good. Many mods exist, ranging from basic UI tweaks to massive overhauls.
Line 28: Line 30:
* AskToPortal - Pops up a dialog asking if you want to go through a portal when you touch it.  Nullifies portal-droppers.
* AskToPortal - Pops up a dialog asking if you want to go through a portal when you touch it.  Nullifies portal-droppers.
* AdvancedSafety - Allows you to set thresholds on certain types of avatar components, after which they will stop loading. For instance, if an avatar has 1,000 sound emitters, you can set AS to only load the first 5. (Defaults are usually fine.)
* AdvancedSafety - Allows you to set thresholds on certain types of avatar components, after which they will stop loading. For instance, if an avatar has 1,000 sound emitters, you can set AS to only load the first 5. (Defaults are usually fine.)
* Final IK Sanity - Prevents IK stuff from crashing you.
* <s>Final IK Sanity - Prevents IK stuff from crashing you.</s>
* Finitizer - Setting a bone to NaN or infinite rotation no longer works.
* Finitizer - Setting a bone to NaN or infinite rotation no longer works.
* Network Sanity - Prevents certain kinds of networking messages from crashing you.
* <s>Network Sanity - Prevents certain kinds of networking messages from crashing you.</s> Currently obsolete, as VRC implemented these fixes.
* Safety Presets - Allows you to assign preset Safety settings. (e.g. one for publics, one for friends+, etc)
* Safety Presets - Allows you to assign preset Safety settings. (e.g. one for publics, one for friends+, etc)
* True Shader Anti-crash - Uses hidden judo techniques to ''rewrite shaders'' to prevent them from crashing you.
* True Shader Anti-crash - Uses hidden judo techniques to ''rewrite shaders'' to prevent them from crashing you.
Line 38: Line 40:
If you want to try out something new, '''and potentially unstable,''' here are some new things floating around.  To install these, just drop the DLL from the releases page into your VRChat/Mods folder.
If you want to try out something new, '''and potentially unstable,''' here are some new things floating around.  To install these, just drop the DLL from the releases page into your VRChat/Mods folder.


* [https://github.com/ScottGriffin213/BundleBouncer/releases BundleBouncer] - Stops assetbundle crashers cold.
* <s>[https://github.com/ScottGriffin213/BundleBouncer/releases BundleBouncer] - Stops assetbundle crashers cold.</s> Now part of AdvancedSafety.


== HACKSZ ==
== HACKSZ ==
Line 44: Line 46:


If you need to crash someone, you aren't chad enough to be here.
If you need to crash someone, you aren't chad enough to be here.
{| class="wikitable"
|+Dangerous Mods/Clients
!Mod/Client
!Notes
|-
|AstralBypass
|Commonly used to permit obfuscated code to run on MelonLoader.  '''If you have a mod that requires this, they're trying to hide something from you. (Also Kirai)'''
|-
|Fumo
|Contains malware.
|-
|Notorious
|Includes a RAT to permit the developers to remotely take over your session, view your desktop, and have access to your PC.
|-
|WorldClient
|Includes a RAT that allows developers to remotely take over your session, open e621 on your desktop, and shut down your PC.
|-
|Anything Obfuscated
|'''If you can't open a mod DLL in dnSpy, they're trying to hide something from you.'''
|-
|Any Melonloader Fork
|MelonLoader is pretty good about accepting changes from others. '''The only real reason people make forks of MelonLoader is to remove the security checks.'''
|-
|BepInEx
|BepInEx, while not malicious itself, does not have MelonLoader obfuscation checks.  '''If a mod requires BepInEx, it's probably trying to hide something from you.'''
|}
{| class="wikitable"
|+Dangerous Modders
!Modder
!Notes
|-
|Kirai
|Kirai once had a hissyfit about "stolen code" and added a "feature" to delete critical files and add unremovable spam to desktops.
|-
|Plague
|Plague is well-known for distributing trojans, keyloggers, and other kinds of malware in his shit.  If it doesn't have it now, he will add it later.
|}
In short, being a monkey never pays.
'''If you are using any mods that fit this category, follow the [[Modding VRChat#Complete Clean|Complete Clean]] tutorial below, scan your shit with anti-virus, and reset your VRC password, as well as any sites that use the same password.''' If you don't completely remove everything in your VRChat folder and start fresh, you could still have a bunch of stuff hijacking VRC or ML and grabbing your login credentials.  You should also perform a virus scan.
== Removing Mods ==
After a major VRChat update, it's generally a good idea to at least temporarily clean your VRC install, as mods are generally broken and even MelonLoader can be having brain problems.  Failing to do so can result in weird issues with the game.
Here's a few options:
=== Quick and Dirty ===
It is possible to just disable MelonLoader so it can't inject itself into the game.  It's actually very easy to do, due to [https://www.nexisonline.net/index.php/2021/04/11/melonloader-sold-out/ how MelonLoader works].  However, note that you will still have a bunch of crap laying around, which can still cause problems.  This procedure is a good first step to troubleshooting, though.
# Close VRC and SteamVR if they're open.
# Open Steam.
# Go to your Library.
# Find and right-click VRChat.
# Select '''Manage > Browse Local Files'''.
# Find and '''delete version.dll'''.
=== Complete Clean ===
Completely nuking your VRC install is a bit hairy, so grab some coffee and brace yourself.
# Close VRC and SteamVR if they're open.
# Open Steam.
# Go to your Library.
# Find and right-click VRChat.
# Select '''Manage > Browse Local Files'''.
# Copy UserData somewhere safe.
# Leave Explorer open as you go back to your Steam Library
# Right-click on VRChat again.
# Select '''Manage > Uninstall'''.
# Go back to Explorer.
# Make sure the VRChat folder is gone.  If it's not, delete it.
# Reinstall VRChat by right-clicking VRChat and choosing Install.
# Proceed through the install wizard.

Latest revision as of 19:40, 13 September 2023

Warning: Modding VRChat is against their Terms of Service. You WILL be banned if they catch you, even if you use defensive mods only. So, don't be stupid and don't be obvious. Don't noclip around in publics while spamming emotes.
Warning: 99% of this is irrelevant now with EAC blocking easy modding. While not impossible, mods are easier to report, and are usually paid-only closed source packages that include EAC bypasses. Highly unrecommended.

VRChat has a storied history of modding, not all of it good. Many mods exist, ranging from basic UI tweaks to massive overhauls.

Here's how to get started.

Installing MelonLoader

First, you need a modloader to inject mods into the game, since a built-in modding system is obviously not available. VRChat has had several of them over the years, but the current iteration, designed to handle the new IL2CPP obfuscation Unity added, is called MelonLoader.

Fortunately, the process is pretty easy:

  1. Remove any other modding systems you may have been using. (If you fit this category, just wipe your VRChat and %LOCALAPPDATA%Low/VRChat directories and reinstall VRC after changing passwords.)
  2. Download VRCMelonAssistant (a package manager for VRChat).
  3. Save the EXE somewhere other than your download folder so Windows is less likely to block it.
  4. Drag the EXE to your hotbar so you can find it later.
  5. Run it.
  6. Read the fucking notice.
  7. Go to the Options tab on the left.
  8. Make sure your VRC path is correct.
  9. Press Install MelonLoader.
  10. Go to the mods tab.

Installing Mods

Just start checking boxes next to stuff that interests you, then press Install or Update Mods to commit changes.

Must-have Security Mods

  • AskToPortal - Pops up a dialog asking if you want to go through a portal when you touch it. Nullifies portal-droppers.
  • AdvancedSafety - Allows you to set thresholds on certain types of avatar components, after which they will stop loading. For instance, if an avatar has 1,000 sound emitters, you can set AS to only load the first 5. (Defaults are usually fine.)
  • Final IK Sanity - Prevents IK stuff from crashing you.
  • Finitizer - Setting a bone to NaN or infinite rotation no longer works.
  • Network Sanity - Prevents certain kinds of networking messages from crashing you. Currently obsolete, as VRC implemented these fixes.
  • Safety Presets - Allows you to assign preset Safety settings. (e.g. one for publics, one for friends+, etc)
  • True Shader Anti-crash - Uses hidden judo techniques to rewrite shaders to prevent them from crashing you.

In-Development Security Stuff

If you want to try out something new, and potentially unstable, here are some new things floating around. To install these, just drop the DLL from the releases page into your VRChat/Mods folder.

  • BundleBouncer - Stops assetbundle crashers cold. Now part of AdvancedSafety.

HACKSZ

We will not be posting links or information about malicious mods here because 99% of them will steal your password or install keyloggers/crypto miners/etc. The vast majority of them also cost money when most of their functionality is either copypasta from free non-malicious mods or stolen from someone else.

If you need to crash someone, you aren't chad enough to be here.

Dangerous Mods/Clients
Mod/Client Notes
AstralBypass Commonly used to permit obfuscated code to run on MelonLoader. If you have a mod that requires this, they're trying to hide something from you. (Also Kirai)
Fumo Contains malware.
Notorious Includes a RAT to permit the developers to remotely take over your session, view your desktop, and have access to your PC.
WorldClient Includes a RAT that allows developers to remotely take over your session, open e621 on your desktop, and shut down your PC.
Anything Obfuscated If you can't open a mod DLL in dnSpy, they're trying to hide something from you.
Any Melonloader Fork MelonLoader is pretty good about accepting changes from others. The only real reason people make forks of MelonLoader is to remove the security checks.
BepInEx BepInEx, while not malicious itself, does not have MelonLoader obfuscation checks. If a mod requires BepInEx, it's probably trying to hide something from you.
Dangerous Modders
Modder Notes
Kirai Kirai once had a hissyfit about "stolen code" and added a "feature" to delete critical files and add unremovable spam to desktops.
Plague Plague is well-known for distributing trojans, keyloggers, and other kinds of malware in his shit. If it doesn't have it now, he will add it later.

In short, being a monkey never pays.

If you are using any mods that fit this category, follow the Complete Clean tutorial below, scan your shit with anti-virus, and reset your VRC password, as well as any sites that use the same password. If you don't completely remove everything in your VRChat folder and start fresh, you could still have a bunch of stuff hijacking VRC or ML and grabbing your login credentials. You should also perform a virus scan.

Removing Mods

After a major VRChat update, it's generally a good idea to at least temporarily clean your VRC install, as mods are generally broken and even MelonLoader can be having brain problems. Failing to do so can result in weird issues with the game.

Here's a few options:

Quick and Dirty

It is possible to just disable MelonLoader so it can't inject itself into the game. It's actually very easy to do, due to how MelonLoader works. However, note that you will still have a bunch of crap laying around, which can still cause problems. This procedure is a good first step to troubleshooting, though.

  1. Close VRC and SteamVR if they're open.
  2. Open Steam.
  3. Go to your Library.
  4. Find and right-click VRChat.
  5. Select Manage > Browse Local Files.
  6. Find and delete version.dll.

Complete Clean

Completely nuking your VRC install is a bit hairy, so grab some coffee and brace yourself.

  1. Close VRC and SteamVR if they're open.
  2. Open Steam.
  3. Go to your Library.
  4. Find and right-click VRChat.
  5. Select Manage > Browse Local Files.
  6. Copy UserData somewhere safe.
  7. Leave Explorer open as you go back to your Steam Library
  8. Right-click on VRChat again.
  9. Select Manage > Uninstall.
  10. Go back to Explorer.
  11. Make sure the VRChat folder is gone. If it's not, delete it.
  12. Reinstall VRChat by right-clicking VRChat and choosing Install.
  13. Proceed through the install wizard.