- Home /
Navmesh Agent to Follow Player
Dear Coders Could someone help? I've set my enemy which is a Navmesh Agent to follow a player after it's been 'triggered' (seperate script). However, the enemy only moves to the last destination that the player was positioned rather than following the player.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
public class following : MonoBehaviour {
public Transform player;
private NavMeshAgent enemy;
// Use this for initialization
void Start () {
enemy = GetComponent<NavMeshAgent> ();
}
// Update is called once per frame
void Update () {
//enemy.SetDestination (player.position);
enemy.destination = player.transform.position;
}
}
I know this is to do with '.destination' or '.SetDestination' but is there a way using NavMesh that I can code for the enemy to follow the player?
Thanks!
agent.destination and agent.SetDestination are just different ways to do the same thing. $$anonymous$$y guess is that the thing you are putting onto the public Transform player in the inspector isn't actually the transform that you are moving on the player controller. If your actual player object is moving inside of a parent transform, you'll need to reference that moving object's transform ins$$anonymous$$d.
Answer by kirikar67 · Feb 14, 2020 at 10:45 PM
Change your code in Update to enemy.SetDestination(player.tramfrom.position)
Your answer
Follow this Question
Related Questions
NavMeshAgent not fully reaching destination, thus it won't delete itself when it gets there 1 Answer
Get NavMeshAgents (Enemies) to not bunch up together 3 Answers
How would I simulate a rectangular Nav Mesh Agent? 0 Answers
AI destination not changing? 0 Answers
Unity Navagation Ground Mapping 1 Answer