Physics Bones Tutorial part 1: Phys Bone Physics

PhysBones are VRChat's built-in way to add secondary motion to avatars and worlds. They are commonly used for hair, ears, tails, clothing details, straps, accessories, plants, and other parts that should move after the main body moves.

Use akalink's original video for the Unity demonstration, then use the checklist below to understand the physics settings before changing values.

Recommended PhysBones Test

Start with one simple bone chain and tune it before adding physics to the whole avatar.

  1. Open a backed-up Creator Companion avatar project with no red Console errors.
  2. Add or inspect one VRC Phys Bone component on a non-humanoid secondary bone chain.
  3. Test motion, grabbing, posing, colliders, and avatar performance before copying the setup elsewhere.
VRChat note

Do not use humanoid body bones such as hips, spine, chest, neck, head, arms, or legs as PhysBone roots. VRChat recommends using separate duplicated or accessory bones for PhysBone chains.

Video Companion

Use the video for the step-by-step Unity workflow, then use the notes below as a checklist while you test your own avatar.

Creator: akalink
Watch on YouTube: https://www.youtube.com/watch?v=B4MTUG9KhVA

What PhysBones Actually Do

A VRC Phys Bone component defines a chain of transforms that can react to movement. Instead of every accessory staying stiffly attached to the avatar, the chain can lag, swing, pull back, stretch, squish, collide, or be grabbed depending on the settings.

Think of PhysBones as controlled secondary motion:

Example What PhysBones can add
Hair strand delayed swing and return
Tail follow-through after body movement
Ears soft movement when the head turns
Hoodie strings small reactive motion
Bag strap subtle motion and collision
Plant or cable in a world soft movement for environmental detail

The goal is not maximum wobble. The goal is believable motion that still respects avatar performance.

Before You Add PhysBones

Check these things first:

  • the avatar opens through VRChat Creator Companion
  • the project uses a supported Unity and SDK setup
  • the avatar has a valid VRC Avatar Descriptor
  • there are no red Console errors
  • the target bone chain is not part of the humanoid body rig
  • the mesh and bones are already behaving correctly without physics
  • you have a backup before testing new dynamics settings

If the avatar is already broken, adding PhysBones can make troubleshooting harder.

The Main Physics Settings

PhysBones expose a lot of options, but beginners should understand the motion basics first.

Setting area What it affects Beginner tuning idea
Pull How strongly the chain returns toward rest Increase if the bone drifts too far or feels too loose
Spring How bouncy the return feels Increase carefully for lively motion; too much can feel rubbery
Stiffness How much the bone resists motion Increase if the chain bends too freely
Gravity Directional pull at rest Use for hanging objects, but test from multiple poses
Immobile How much avatar movement affects the chain Useful when movement creates too much swinging
Limits How far the chain can rotate Use to prevent impossible bending
Collision How the chain reacts to colliders Add only where interaction or body blocking is needed
Grab and Pose Whether users can grab or hold the chain Disable if interaction would be distracting or inappropriate

Change one setting at a time. If you change Pull, Spring, Gravity, and Limits together, you will not know which value caused the result.

A Simple Tuning Workflow

Use this loop for one chain:

  1. Add or select the VRC Phys Bone component.
  2. Confirm the root transform targets the correct chain.
  3. Start with subtle motion.
  4. Test movement in Unity and through VRChat testing.
  5. Adjust Pull and Stiffness before chasing advanced settings.
  6. Add limits if the chain bends too far.
  7. Add colliders only after basic motion feels good.
  8. Check avatar performance before duplicating the setup.

Once one chain behaves well, you can reuse the thinking on similar chains.

Grabbing, Posing, And Interaction

PhysBones can be interactive. Depending on the settings, users may be able to:

  • grab a bone chain
  • move it around
  • pose it and hold it in place
  • collide with it using hands, fingers, or other configured colliders

Interaction can be fun, but it should be intentional. On avatars, think about personal space, performance, and whether other players should be allowed to interact with that part of the avatar.

Colliders And Standard Avatar Colliders

PhysBone colliders define shapes that affect PhysBone motion. VRChat also defines standard avatar colliders around body parts such as hands, fingers, head, torso, and feet.

Use colliders when:

  • hair should not pass through the head or shoulders
  • a tail should avoid clipping through the body
  • an accessory should react to hands
  • a world object needs soft interaction

Avoid adding colliders everywhere. Collision checks add complexity, and unnecessary colliders can hurt avatar performance.

Performance And Platform Checks

PhysBones are more VRChat-native than the old Dynamic Bones workflow, but they are still part of avatar performance.

Watch:

  • number of PhysBone components
  • number of affected transforms
  • PhysBone colliders
  • collision checks
  • contacts and other Avatar Dynamics systems
  • whether mobile or Android performance limits remove features

If an avatar exceeds VRChat's performance thresholds, PhysBones and related components may be limited or removed on some platforms. Test the avatar performance rank before assuming the setup is safe.

Common Beginner Mistakes

Adding physics to humanoid bones

Do not make hips, spine, chest, neck, head, arms, or legs the PhysBone root. Use accessory or duplicated bones for secondary motion.

Making motion too strong

Large bouncy movement can look funny in the editor but distracting in VR. Start subtle and increase only when the avatar needs it.

Adding colliders before the motion works

Get the chain moving correctly first. Then add colliders to solve specific clipping or interaction problems.

Copying settings to every chain

Hair, ears, tails, and clothing need different behavior. Reused settings are a starting point, not a finished setup.

Ignoring performance rank

Avatar Dynamics systems contribute to performance. Test the final avatar, especially if you care about mobile or Android users.

Help! My PhysBone does not move.

Check that the component has the correct root transform, the target chain has child bones, the component is enabled, and the avatar has no Console errors blocking normal SDK behavior.

Help! The bone bends too far or clips through the avatar.

Reduce the motion first with Pull, Stiffness, and limits. Add colliders only after the basic motion is controlled enough to tune predictably.

Help! Grabbing or posing feels wrong.

Review Allow Grabbing, Allow Posing, Grab Movement, and interaction settings. If the interaction is not needed, disable it and keep the chain as visual motion only.

Help! The avatar loses PhysBones on another platform.

Check the avatar performance rank and platform limits. Reduce components, transforms, colliders, and collision checks before assuming the SDK or upload failed.

Official References

Helpful follow-up pages

Final Advice

PhysBones work best when they are subtle, intentional, and tested. Start with one chain, understand what each motion setting is doing, then expand only after the avatar still looks good and passes performance checks.

Related Docs

Topics: physbones