static List <Collider2D> AttachBoundingBoxRagdollColliders(Bone b, GameObject go, Skeleton skeleton, float gravityScale) { const string AttachmentNameMarker = "ragdoll"; var colliders = new List <Collider2D>(); var skin = skeleton.Skin ?? skeleton.Data.DefaultSkin; var skinEntries = new List <Skin.SkinEntry>(); foreach (Slot slot in skeleton.Slots) { if (slot.Bone == b) { skin.GetAttachments(skeleton.Slots.IndexOf(slot), skinEntries); bool bbAttachmentAdded = false; foreach (var entry in skinEntries) { var bbAttachment = entry.Attachment as BoundingBoxAttachment; if (bbAttachment != null) { if (!entry.Name.ToLower().Contains(AttachmentNameMarker)) { continue; } bbAttachmentAdded = true; var bbCollider = SkeletonUtility.AddBoundingBoxAsComponent(bbAttachment, slot, go, isTrigger: false); colliders.Add(bbCollider); } } if (bbAttachmentAdded) { SkeletonUtility.AddBoneRigidbody2D(go, isKinematic: false, gravityScale: gravityScale); } } } return(colliders); }