Making an arm of an R6 character face a part using Motor6Ds

If you are still stuck try doing this ?

local dummy = workspace.Dummy
local targetpart = workspace.Target

local Torso = dummy:WaitForChild("Torso")
local RightShoulder = Torso:FindFirstChild("Right Shoulder")
local shoulderSize = RightShoulder.Part1.Size
local fixedRS = RightShoulder.Part1.CFrame + Vector3.new(0,shoulderSize.Y/2,0)

local cOffset = Torso.CFrame:ToObjectSpace(fixedRS)

local RunService = game:GetService("RunService")
local forwardV3 = Vector3.new(0,0,-1)

while true do
	local cf = Torso.CFrame * cOffset
	local targetPos = targetpart.Position 

	local planeCf = CFrame.lookAt(fixedRS.Position,targetPos)

	local look = RightShoulder.Part1.CFrame.LookVector
	local relative = RightShoulder.Part1.Position - targetPos
	local dot = look:Dot(relative.unit)

	local cAngle = CFrame.Angles(math.acos(dot),0,0)
	RightShoulder.C0 = Torso.CFrame:ToObjectSpace(planeCf) * cAngle

	RunService.Heartbeat:Wait()
end
2 Likes