Player won't constantly teleport to other player

So I made a script that constantly teleports one player’s HumanoidRootPart to the other player’s HumanoidRootPart, any idea why it doesn’t teleport it at all?, it works just fine if I select a part in the workspace…

players = game:GetService('Players')

viewer = players:WaitForChild('Player1').Character.HumanoidRootPart

streamer = players:WaitForChild('Player2').Character.HumanoidRootPart

RunService = game:GetService('RunService')

local plr = viewer

while RunService.Stepped:wait() do
	plr.CFrame = CFrame.new(streamer.Position)
end
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")

local player = Players:WaitForChild("Player1")
local streamer = Players:WaitForChild("Player2")

while RunService.Heartbeat:Wait() do
    player.Character.HumanoidRootPart.CFrame = streamer.Character.HumanoidRootPart.CFrame
end

Try this code.

doesn’t move at all, unsure why

May I ask, why exactly are you trying to retrieve Player1 and Player2 specifically? These are usernames that appear in local testing in Studio, which is probably why it’s not working properly.

I just changed the names to make it make more sense, I did change it to the proper name when inside of the game, ive been trying different ways of doing it but I just cant seem to make the second player constantly teleport to the other player no matter what I change or do…