Можно попробовать
transform.LookAt(player)
transform.translate(Vector.forward * speed * Time.DeltaTime)
или
Vector3 moveDir = player.transform.position - transform.position
transform.translate(moveDir * speed * Time.DeltaTime)
или
накинуть CharacterController, запечь его в body через getcomponent, и
transform.LookAt(player)
body.Move(player.transform.position)
если не нужно плавно, то можно и просто
transform.position = player.transform.position
С этим разобрались. Насчёт обучения. Посмотри курс по С# от SimpleCode, курс по Unity от CodeMonkey (канал впринципе хороший, советую запомнить) ну и много-много практики, в интернет не один раз ещё полезешь, удачи!