PathfindingService
local PathfindingService = game:GetService("PathfindingService")
local path = PathfindingService:CreatePath()
local avatar = workspace.Avatar
local humanoid = avatar.Humanoid
local rootPart = humanoid.RootPart
local target = workspace.Target
path:ComputeAsync(rootPart.Position, workspace.Target.Position)
local waypoints = path:GetWaypoints()
for _, waypoint in pairs(waypoints) do
humanoid:MoveTo(waypoint.Position)
humanoid.MoveToFinished:Wait()
end