Version: 2019.4
  • C#


struct in UnityEngine


Implemented in:UnityEngine.CoreModule

Suggest a change


Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.


Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.




Describes any number of skinning bone weights that affect a vertex in a mesh.

Bone weights must be in descending order, and add up to 1.

This struct, and the associated Mesh.GetAllBoneWeights, Mesh.SetBoneWeights and Mesh.GetBonesPerVertex APIs, can describe any number of bone weights per vertex. The older BoneWeight struct, and associated Mesh.boneWeights and Mesh.GetBoneWeights APIs, can only describe 4 bone weights per vertex.

For meshes that have more than 4 bones per vertex, you must use this struct. For all other meshes, there is no performance disadvantage to using this struct, and it might result in small performance benefits as Unity does not have to perform unnessary conversion operations to describe vertices with exactly 4 bone weights.

See Also: Mesh.SetBoneWeights, Mesh.GetAllBoneWeights, Mesh.GetBonesPerVertex, Mesh.boneWeights, Mesh.GetBoneWeights, ModelImporter.maxBonesPerVertex, QualitySettings.skinWeights, SkinnedMeshRenderer.quality.


boneIndexIndex of bone.
weightSkinning weight for bone.