Aprenda nesse mini tutorial a criar um script que faz o NPC seguir o player.

Esse script funciona da seguinte maneira: Quando o player se aproxima do NPC a uma distância mínima de 40 studs, então o NPC começa a seguir o player.

Detalhe super importante: Se o HumanoidRootPart do seu NPC estiver Anchored, ele não vai te seguir de jeito nenhum. Então, antes de fazer o script já confere se o HumanoidRootPart do NPC não está Anchored, conforme imagem abaixo.

Como fazer o NPC seguir o player no Roblox Studio
Como fazer o NPC seguir o player no Roblox Studio

No lugar de Dummy coloque o nome do seu NPC.

local npc = game.Workspace.Dummy
local humanoid = npc.Humanoid
local npcHRP = npc.HumanoidRootPart
local DELAY = 2

local function localizaPlayer(distancia)
	local distanciaMinima = distancia
	local jogadorProximo
	
	for i,v in next, game.Players:GetPlayers() do
		local character = v.Character
		
		if character then
			local humanoid = character.Humanoid
			local HRP = character.PrimaryPart
			if(humanoid.Health > 0) then
				local mag = (npcHRP.Position - HRP.Position).Magnitude
				if(mag <= distanciaMinima) then
					jogadorProximo = v
					distanciaMinima = mag
				end
			end
		end
	end
	return jogadorProximo
end

local jogadorMaisProximo = nil
while wait(DELAY) do
	jogadorMaisProximo = localizaPlayer(40)
	
	if jogadorMaisProximo then
		humanoid:MoveTo(jogadorMaisProximo.Character.HumanoidRootPart.Position + Vector3.new(4,0,0))
		
	end
end


Depois de acrescentar esse script no seu NPC, pode testar! Está pronto o script que faz o NPC seguir o player.

Ainda ficou na dúvida, assista ao vídeo da construção desse script logo abaixo.

Veja esse código funcionando em: OBBY RJ BYTE