All posts
postMay 3, 2026

NavMesh Agent Basics

#csharp#unity#navmesh#ai
NavMesh Agent Basics — slide 1
csharp
using UnityEngine;
using UnityEngine.AI;

public class EnemyAI : MonoBehaviour
{
    [SerializeField] private Transform target;
    private NavMeshAgent _agent;

    private void Awake() => _agent = GetComponent<NavMeshAgent>();

    private void Update()
    {
        if (target == null) return;
        _agent.SetDestination(target.position);

        // Check arrival
        bool arrived = !_agent.pathPending &&
                       _agent.remainingDistance <= _agent.stoppingDistance;
        if (arrived) OnReachTarget();
    }

    private void OnReachTarget() => Debug.Log("Enemy reached target!");
}