Why is OnTriggerEnter Never Firing?

Here is my setup:

I have a player object. Here is a list of relevant items attached to it and key properties of each:

  • Kinematic Rigid Body
  • Capsule Collider (Not Trigger)

I have an enemy. Here is the list of relevant items attached to it and the key properties for each:

  • Rigid Body (Not Kinematic)
  • Nav Mesh Agent
  • Capsule Collider (isTrigger)
  • Capsule Collider (Not Trigger)
  • Enemy Controller Script

The trigger collider is larger than the non-trigger one. I can watch it clip the collider attached to the player.

Here is my goal:
When the trigger collider attached to the enemy touches the player’s collider, a message will be displayed on the console.

The enemy seeks out the player and eventually touches the player via a nav mesh setDestination call.

    protected virtual void move()
    {
        nav.SetDestination(playerPos.position);
    }

The following code is in the EnemyController script to achieve the console print when the capsules collide.

void OnTiggerEnter(Collider other)
    {
        print("method fired");
    }

When the colliders intersect, the message is not printed.

Can someone please explain this to me? I have searched and asked colleagues for help, but I cannot seem to find why this is not occurring.

If more information is needed, please let me know.

Thank you.

Hi !

Is this the real name of your method ? If yes, rename it “OnTriggerEnter” instead of Tigger :wink:

if it’s not, did the enemy have a rigidbody attached ?