How to weld objects onto an R6 character's left hand?

EDIT 12/03/2021: Use RigidConstraints to snap accessories together by their attachments instead.

R6 rigs, like R15 rigs, have attachments in their arms respectively named “xGripAttachment”. You can add an attachment to your object’s holding point with preferably the same name and then weld those two parts together but snap them by their attachments’ CFrames.

local accessoryWeld = Instance.new("Weld")
accessoryWeld.Name = "AccessoryWeld"
accessoryWeld.Part0 = YOUR_ACCESSORY_HANDLE
accessoryWeld.Part1 = LIMB_TO_ATTACH_TO
accessoryWeld.C0 = accessoryWeld.Part0.ATTACHMENT_NAME.CFrame
accessoryWeld.C1 = accessoryWeld.Part1.ATTACHMENT_NAME.CFrame
accessoryWeld.Parent = accessoryWeld.Part0

This is code I took from a reply based on accessories so it follows accessory conventions but it should likewise still work for your use case. Just make some adjustments:

  • YOUR_ACCESSORY_HANDLE is the part in your object that hosts the grip attachment.
  • LIMB_TO_ATTACH_TO should be Left Arm, as per R6 convention.
  • ATTACHMENT_NAME, both cases, should be changed to LeftGripAttachment.

Naturally with the last one that also means the attachment you add to your object should be named LeftGripAttachment and should ideally, after being welded, line up with the attachment in the character’s left arm. See this post for more information:

If your object has multiple parts, it should go without saying that they all need to be unanchored and welded together. Additionally, it might do you well to make the parts massless and non-collidable so the total mass of the object doesn’t affect the way the character moves.

6 Likes