Makes dynamic bones multiplayer, allowing other players to interact with yours and vice versa, in addition to optimizing dynamic bones and more.
How to install? Follow the Automatic Installation instructions at https://melonwiki.xyz/#/README?id=installation-on-il2cpp-games
Then drop the mod dll in the Mods folder.
This mod requires UIExpansionKit
Hotkeys | Description |
---|---|
F1 | Enable/disable the mod. You can also use the button in the quick menu if you're in VR or don't want to use the keyboard. |
F4 | Dump a list of active players working with the mod, useful for debugging. |
F5 | Open an ingame editor of Dynamic Bones settings if enabled in Mod Settings (Local only) |
F8 | List what colliders are attached to your bones. |
F9 | List colliders attached to other player's bones. |
F11 | Prints list of all Avatars in current list |
Once the mod has been run at least once, it creates a settings file in the vrchat folder under UserData, in a .cfg file. See the bottom of this document for a list of all settings.
From the 'MDB Settings' Button on the Quick Menu - A fast way to get to the most commonly adjusted settings
(The Quick Menu button can be disabled entirely by the 'Quick Menu Button' preference in Mod Settings)
This Menu focuses on Customizing Dynamic Bone interaction with other avatars on a per avatar basis
This is on the Quick Menu when you select another Player or on the side of the big Avatar menu for your own avatar
Include/Exclude a Specific Avatar - This replaces the 'Enable/Disable MDB' buttons that used to be on the Per User Quick Menu
Include/Exclude Bones/Colliders lets you selectively enable or disable certain Dynamic Bones or Colliders from being multiplayered per avatar.
These checks can be disabled/enabled Globally with the 'Exclude Specific Objects' and 'Include Specific Objects' preferences. Screenshot of this menu is below. This is most useful for disabling an overly large collider on a model.
Adjusting an avatar's Dynamic Bone radius has several options. Screenshot of this menu is below.
Auto add hand colliders to this avatar
Because the world always needs more Dynamic Bones!
This can be toggled in Mod Settings
"I hear you like bones~" Toggles this feature on/off
"Performance Limit" Limits this to the first 10 avatars loaded since last toggle/world change
"Don't effect local avatar" Stops moarbones from effecting you. Your own movements are networked through IK, so this is enabled by default.
Or from MDB Settings on the Quick Menu
Build 1043.3
Build 1043.2
Build 1043.2
Build 1043
Build 1042.2
Build 1042
Build 1041.4
Build 1041.3
Build 1041.2
Build 1041.1
Build 1041
Build 1040.1-7
Build 1040
Added an Include Specific option at the request of a mod user.
Added a 'Disable All DynamicBones in Scene' option at the request of a ferret
Hopefully fixed the scale checks for colliders - Lossy is the answer
Moved 'Multiply/Replace/Zero Radius Exclude' to it's own submenu
Made Bone/Collider Specific menus go back to the previous one instead of close
Added a new MoarBones feature, more info coming soon~
Switched from storing lists in ModPrefs and moved to standalone files, on first load of this version the mod will migrate everything to files in UserData/MDB
Various bug fixes and NRE fixes (onlyHandCollider & AddAutoCollidersToPlayer if model was human rigged, but missing hands)
Build 1039
Build 1038
Build 1037
Build 1036
Known bugs:
Todo:
Setting Name | Default Value | Display Text | Extra info |
---|---|---|---|
What gets Mutliplayered | - | - | - |
EnabledByDefault | true | Enabled by default | If mod is enabled when game starts |
OptimizeOnly | false | Optimize bones, don't enable interaction [QM] | Options such as DistanceDisable, EnableJustIfVisible and, DynamicBoneUpdateRate will still apply to help optimize dynamic bones. I recommend using this when you don't want to interact with others instead of disabling the mod completely |
OnlyMe | false | Only I can interact with other bones [QM] | |
OnlyFriends | false | Only friends and I can interact w/ eachothers bones [QM] | |
DisallowDesktoppers | false | Desktopers's colliders and bones won't be multiplayer'd [QM] | |
OnlyHandColliders | true | Only enable colliders in hands [QM] | |
OnlyDynamicBonesOnBreasts | false | Only the breast bones will be multiplayer'd [QM] | 'Breast bones' is defined as anything attached to the chest and not a child of the Left/Right Shoulder or Neck. |
InteractSelf | false | Add your colliders to your own bones (May cause buggy interactions) [QM] | |
OthersInteractSelf | false | Add other avatar's colliders to their own bones (May cause buggy interactions) [QM] | |
AddAutoCollidersAll | false | Auto add hand colliders to avatars that don't have them (Requires reload of avatar) [QM] | If this setting is enabled, you can disable this behavior per avatar by selecting them and opening the 'MDB Avatar Config' on your QuickMenu. Toggle the hand collider option on that menu to 'Disabled' |
ExcludeSpecificBones | true | Exclude Specific Bones from being Multiplayered [QM] | If the bones/colliders set in the per avatar exclude menus wont be multiplayered |
IncludeSpecificBones | true | Include Specific Bones or Colliders to be Multiplayered[QM] | If the bones/colliders set in the per avatar include menus will bypass filters |
Bone settings | - | - | |
DistanceDisable | true | Custom value for disabling bones if beyond a distance [QM] | |
DistanceToDisable | 4 | Distance limit | For above setting, in meters |
DisallowInsideColliders | true | Disallow inside colliders from being multiplayered [QM] | |
DestroyInsideColliders | false | Destroy inside colliders (Requires reload of avatar) [QM] | |
ColliderSizeLimit | 1f | Collider size limit | |
DynamicBoneUpdateRate | 60 | Dynamic bone update rate | |
DynamicBoneUpdateRateAdjSettings | true | Adjust bone properties in a ratio from update rate change | |
EnableJustIfVisible | true | Enable dynamic bones only if they are in view | Uses the visibility of an avatar's skinned mesh render to check for view |
VisibilityUpdateRate | 1f | Visibility update rate (seconds) | |
BoneRadiusDivisor | 4 | Replace DB radius: Divisor - New Radius is BoneLegnth / ThisValue | |
EndBoneRadius | 0.05f | Replace DB radius: This is the fallback radius if the calculated value is 0 | |
AdjustRadiusExcludeZero | false | Replace DB radius: Excludes bone with a radius of 0 from being changed | |
AdjustRadiusForAllZeroBones | false | Replace DB radius: Adjust All Zero Radius Bones - Replace the radius for all bones with a radius of 0 on all avatars | |
DisableAllBones | false | Disable all Dynamic Bones in Scene [QM] | |
Mod settings | - | - | |
KeybindsEnabled | true | Enable keyboard actuation(F1, F4 and F8) | See above for bindings |
UpdateMode | 2 | A value of 2 will notify the user when a new version of the mod is available, while 1 will not. | |
EnableEditor | false | EnableEditor (F5) | GUI for live editing of bones, may need some work? |
QuickMenuButton | 1 | Quick Menu Button - 1:Settings Menu, 2:Just Toggle, 0:None (Restart Req) | Controls the state of the button that gets placed on your Quick Menu |
LogLevel | 0 | Console Logging Level: 0-Default, 1-Info, 2-Debug, 3-ExtraDebug(Very laggy), -1 Silent Mode | Logging info if you really want it |
MoarBones | false | MoarBones: I hear you like bones~ | |
MoarBonesPref | true | MoarBones: Performance Limit | |
MoarBonesNotLocal | true | MoarBones: Don't effect local avatar | Enabled by default as the local avatar movements are networked |
Hidden Lists/Text files | - | - | |
AvatarsToAddColliders.txt | null | Doesn't show in settings | One line per avatar, this is populated through the in game menus. AvatarName+Hash |
AvatarsToAdjustDBRadius.txt | null | Doesn't show in settings | One line per avatar, this is populated through the in game menus. "AvatarName+Hash, 0.1-∞|0|-2", 0.1-∞ = Multiply to scale bones radius's by, 0 = Replace with Calculated, -2 = 'Exclude from Adjusting All Zero Radius Bones' |
AvatarsToWhichNotApply.txt | null | Doesn't show in settings | One line per avatar, this is populated through the in game menus. "AvatarName+Hash, True|False" True = Exclude, False = Include |
BonesToAlwaysExclude.txt | null | Doesn't show in settings | One line per Bone, user exact bone names This must be manually populated in the config file Example: (, are line breaks) Left Z_Wing_Bone_3, Left Z_Wing_Bone_2, Left Z_Wing_Bone_1, Right Z_Wing_Bone_3, Right Z_Wing_Bone_2, Right Z_Wing_Bone_1 |
BonesToExclude.txt | null | Doesn't show in settings | One line per Bone, this is populated through the in game menus. AvatarName+Hash:db:BoneName |
BonesToInclude.txt | null | Doesn't show in settings | One line per Bone, this is populated through the in game menus. AvatarName+Hash:db:BoneName |
CollidersToExclude.txt | null | Doesn't show in settings | One line per Collider, this is populated through the in game menus. AvatarName+Hash:dbc:ColliderName |
CollidersToInclude.txt | null | Doesn't show in settings | One line per Collider, this is populated through the in game menus. AvatarName+Hash:dbc:ColliderName |
[QM] means the setting is on the QuickMenu Settings Menu