Created April 16, 2018 Last modified February 9, 2021 updated contents (c8d9ca75)

Instruction video on how to set up spring bones can be found here.

Nodes attached by spring bones

When VRM is imported, nodes attached by components related to spring bones can be found as described below:

  • VRMSpringBone is attached to the nodesecondary.
  • VRMSpringBoneColliderGroup is attached to nodes exported last time.
Please checksecondaryin the Hierarchy window if you cannot find VRMSpringBone


The setting for making objects swaying such as tail, hair, clothes and so on. Please set the target object’s parent Gameobject inRoot Bones. To do that, drag a target object (e.g.hair1_L) fromHierarchyto theElement Xfield (or click the rightmost icon ofElement Xthen you can see a list of selectable components). AdjustSizeto change the number ofRoot Bonesyou want to put in.

Example: Set the hair and ribbon inRoot Bones

That’s it. Try to adjustStiffness Force,Gravity Power, etc. The target objects will perform swaying movements.

[Option] VRMSpringBoneColliderGroup (Collision detection)

The collision detection mechanism can be added to prevent swaying objects from penetrating user-specified parts.

Add the collision detection mechanism on the head (VRMSpringBoneColliderGroup)

For example, hitAdd Componentto attach VRMSpringBoneColliderGroup script toheadand dragheadto theElement 0field inCollider Groups. You can change its offset and radius value by double clicking theElement 0field inCollider Groups.

Attach the VRMSpringBoneColliderGroup script toheadand setheadinCollider Groups
Gizmo at runtime (checkDraw Gizmoin the Inspector of VRMSpringBone)

Set multiple collision detections in VRMSpringBoneColliderGroup

Though the default is only set for one collision detection (a sphere range from the target), users can change the setting to multiple detections (multiple sphere ranges from multiple targets) by adjusting the value ofSizeand multiple targets can then be put intoElementfields.

VRMSpringBone set before was gone

VRMSpringBone was attached to the nodesecondaryduring import.


VRM - humanoid 3d avatar format for VR