Allowed Avatar Components
Your can add features to your avatar by adding components to it. However, not all components can be used in VRChat.
- Any component on the following list can be used in VRChat.
- Other components or custom scripts won't work in VRChat and may stop you from uploading your avatar.
The Android version of VRChat has additional restrictions.
VRChat
- VRCAvatarDescriptor
- VRCConstraint
- VRCContactReceiver
- VRCContactSender
- VRCHeadChop
- VRCIKFollower - Deprecated! You should use VRChat Constraints instead.
- VRCPhysBone
- VRCPhysBoneCollider
- VRCPipelineManager
- VRCSpatialAudioSource
- VRCStation
Unity
- AimConstraint
- Animation
- Animator
- AudioSource
- Camera (See notes below)
- Cloth
- Collider
- FlareLayer
- Joints
- Light
- LineRenderer
- LookAtConstraint
- MeshFilter
- MeshRenderer
- ParentConstraint
- ParticleSystemRenderer
- ParticleSystem
- PositionConstraint
- Rigidbody
- RotationConstraint
- ScaleConstraint
- SkinnedMeshRenderer
- TrailRenderer
- Transform
Cameras on Avatars
For avatars worn by the local user, Camera components are fully whitelisted. For remote users, the following rules apply:
- In all cases, the Camera components of remote users are disabled when the avatar is loaded.
- You can use animations to enable Camera components.
- If the local user and remote user are friends, Camera components are not removed.
- Note that becoming friends with a user does not automatically reload their avatar.
- If the local user has selected "Show Avatar" for the remote user in VRChat's quick menu, Camera components are not removed.
- If neither of the above is true, Camera components are removed and cannot be enabled.
Root Motion (FinalIK)
VRChat has highly modified its implementation of FinalIK. As such, these components may not work as documented.
We do not directly support or test custom FinalIK implementations on avatars. However, they should work fine, and if we must intentionally break one or more of these, we will try our best to inform creators.
If you discover a bug, please let us know.
- Aim IK
- Biped IK
- CCDIK
- FABRIK
- Full Body Biped IK
- Grounder
- Limb IK
- Rotation Limits
- Shoulder Rotator
- Twist Relaxer
- VRIK1
DynamicBone
Support for Dynamic Bone is deprecated. You should use PhysBones instead.
- DynamicBone
- DynamicBoneCollider
Footnotes
-
Using this script on a humanoid avatar will break it. ↩