Allowed Avatar Components
Here is a list of the components permitted on avatars. Any component not on this list will be removed at runtime, and may prevent upload.
Custom scripts/components are not permitted on avatars, and will be removed at upload and runtime.
The Quest version of VRChat has some exceptions to this list. Check here for more info.
VRChat
- VRCAvatarDescriptor
- PipelineManager
- VRCStation
- VRCPhysBone
- VRCPhysBoneCollider
- VRCContactSender
- VRCContactReceiver
- VRCSpatialAudioSource
- VRC_IKFollower - Deprecated! You should use Constraints instead.
Unity
- For avatars worn by the local user, Camera components are fully whitelisted.
- For avatars worn by 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.
- In all cases, the Camera components of remote users are disabled when the avatar is loaded.
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.
Twist Relaxer
Shoulder Rotator
Using this script on a humanoid avatar will break it.
DynamicBone
Support for Dynamic Bone is deprecated. You should use PhysBones instead.
- DynamicBone
- DynamicBoneCollider