Hey I'm making a lagless Pathfinding script but it wont work,

    for i,v in pairs(workspace:WaitForChild("Players"):GetDescendants()) do
        if v.Parent:FindFirstChild("Humanoid") and v.Name == "Torso" then

            if (zombie.HumanoidRootPart.Position - v.Position).magnitude < dist then
                destination = v
            end
        end
    end

You can see workspace:WaitForChild("Players"), i parented the characters to that, but the problem is, when i add that it doesn't work, it only works when its workspace:GetDescendants() and that lags the script and the entity lags, any help is appreciated, thanks!