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