Turning issue with renderstep

Made a new post about this issue here Renderstep has delay when trying to turn character
Heyo I have this code on the client in a rederstep which keeps the player facing the opponent and on then on the server I have this same code except in a heartbeat which keeps the npc facing the player (not sure if this is nessacarry) and it works fine

--| Keep Player Facing Opponent
local FacingDirection = math.floor(Opponent.Character.HumanoidRootPart.CFrame.X-Main.HRP.CFrame.X)
if FacingDirection < 0 then
    --> facing right
    FacingDirection = -1
else
    --> facing left
    FacingDirection = 1
end
if Main.Humanoid:GetState() ~= Enum.HumanoidStateType.Freefall then
    UpdatePos(FacingDirection)
else
    UpdatePos(Modules.CharacterControl.FacingDirection)
end


However when using 2 players instead I just use the renderstep and for some reason the turning of the opponent is not instant

I wanted to know if I should just do this all on the server or continue to do it the way I have it for the npc and use a renderstep and heartbeat.