Physbones

From VRChat Wiki
(Redirected from SquishyBones)
VRLogo.png
V · EThis is an official VRChat information page!
It is written and maintained by VRCWiki Team.
Vrrat posed-right.png
V · EThis page is a stub.
You can help the VRChat Wiki by improving it.
[Reason: Please expand and proofread, in reference to the Manual of Style.]

Physbones (also styled as PhysBones; a pormanteau of 'physics bones') are components that allow avatars to display additional motion beyond the normal skeletal movements. PhysBones were implemented[1] into VRChat on April 21, 2022.

Overview

Physics Bones are designed to be a more performant, and free replacement for Dynamic Bones[2], which are a paid Unity asset. These can be enabled on components like hair, clothing, tails, ears, and more, allowing those features to be affected by movement, gravity, and collisions. With the Avatar Dynamics system, PhysBones can optionally be used as interactions by oneself, or other users, for interactions such as grabbing and posing.

History

Before PhysBones, VRChat added support for Dynamic Bones circa 2017. PhysBones was first introduced as "physics bones" in the April 2021 Developer Stream, during the Avatar Dynamics segment. An update about its development was posted on Medium[3] on December 17, 2021. After the season, Avatar Dynamics launched into Open Beta on March 4, 2022[4]. The Open Beta period ended on April 21, 2022; it was announced[5][6] and launched the same day, in the VRChat 2022.1.2 (build 1189) release.

As an expansion to PhysBones, the introduction of SquishyBones was added in 2023.2.2[7][8] (build 1304) on May 3, 2023.

Initially, Dynamic Bones were still supported and even had a user option to be auto-converted to PhysBones, but as of the VRChat 2024.3.1 release they are now always auto-converted, and Dynamic Bones are no longer permitted on new avatar uploads.

PhysBones in the SDK

PhysBones and avatar performance

Definitions

Avatar Quality Quality Description
PhysBones Components The number of PhysBone components on the avatar.
PhysBones Affected Transforms The total number of transforms affected by PhysBones components on the avatar.
PhysBones Colliders The number of PhysBone collider scripts on the avatar.
PhysBones Collision Check Count The sum of how many PhysBone transforms each collider can affect. This can count transforms twice or more, because a single transform can be affected by multiple colliders.

PC Limits

Avatar Quality Excellent Good Medium Poor
PhysBones Components 4 8 16 32
PhysBones Affected Transforms 16 64 128 256
PhysBones Colliders 4 8 16 32
PhysBones Collision Check Count 32 128 256 512

Mobile Limits*

Avatar Quality Excellent Good Medium Poor
PhysBones Components 0 4 6 8
PhysBones Affected Transforms 0 16 32 64
PhysBones Colliders 0 4 8 16
PhysBones Collision Check Count 0 16 32 64

*If the Very Poor value for an avatar is met on mobile, no matter the current "Show Avatar" state of the avatar, all Avatar Dynamics-related components will be removed.

Debugging

Using the Action Menu, you can use the Avatar Overlay option to show visual representations of both PhysBones and Contacts live in game. These are useful for seeing exactly what is happening, or if objects have been set up properly.

Both PhysBones and Contacts run in the editor as they would in the client. By entering Play mode you are able to simulate these systems and see how your avatar will react without needing to upload your avatar.

Official resources

See also

References

  1. 'Avatar Dynamics is Now Live' on VRChat Blog; retrieved September 13, 2024
  2. 'Dynamic Bone' on Unity Store; retrieved September 13, 2024
  3. 'Avatar Dynamics Update' on Medium; retrieved September 13, 2024
  4. 'Avatar Dynamics is Now in Open Beta!' on VRChat Blog; retrieved September 13, 2024
  5. 'Avatar Dynamics has launched on Live!' on VRChat Discord; retrieved September 13, 2024
  6. 'Avatar Dynamics is Now Live' on VRChat Blog; retrieved September 13, 2024
  7. 'New in #vrchat 2023.2.2: SquishyBones!' on YouTube; retrieved September 13, 2024
  8. 'VRChat 2023.2.2' on Creator Docs; retrieved September 13, 2024