Moving a GameObject towards a CharacterController

Right now my GameObject (enemy) is moved towards the CharacterController (player) on each update in the C# script. I am using:

transform.position = Vector3.MoveTowards(transform.position,character.transform.position, 0.03f);

This works, but my problem is that the update method is ignoring collision and causing the enemy to move inside of my player. Instead i want it to collide with the player, but not move inside of it.

on contact with the player, via onCollision or onTriggerEnter, set a bool.

If playersCollided == false… continue.

if playersCollided == true … halt update of position.