Tween not working due to property mismatch

You can write your topic however you want, but you need to answer these questions:

  1. What do you want to achieve? Keep it simple and clear!
    A script that points the character’s limbs in the direction of the camera, and make it replicate on other clients.

  2. What is the issue? Include screenshots / videos if possible!
    When I send the remote event and then try to tween the other player’s limbs, it sends back an error saying that the properties are not the same (CFrame, but given type is Instance (or something like that.)).

  3. What solutions have you tried so far? Did you look for solutions on the Developer Hub?
    Tried looking for solutions, really didn’t find anything.

The sending script:

while wait(0.5) do
	leftcf = leftShoulder.C0
	rightcf = rightShoulder.C0
	local neckcf = character.Torso.Neck.C0
	remote:FireServer(mplayer, leftcf, rightcf, neckcf)
end

The tween script:

remote.OnClientEvent:Connect(function(otherPlayer, Oleftcf, Orightcf, Oneckcf)
	if otherPlayer ~= mplayer then
		local left = otherPlayer.Character:FindFirstChild("Left Shoulder", true)
		local right = otherPlayer.Character:FindFirstChild("Right Shoulder", true)
		local neck = otherPlayer.Character:FindFirstChild("Neck", true)

		if left then
			TweenService:Create(left, TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), {C0 = Oleftcf}):Play()
		end

		if right then
			TweenService:Create(right, TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), {C0 = Orightcf}):Play()
		end

		if neck then
			TweenService:Create(neck, TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), {C0 = Oneckcf}):Play()
		end
	end
end)