So now I have pretty much completed the base of my enemy AI for one unit type. I was trying to find something to model it on and played some Zelda to see how the melee units react to players. For the moment my enemy AI has 3 states which change how they move. When patrolling they follow way-points and ignore the player entirely. If the player moves into a cone in front of the enemy they begin engaging, in this state they move towards the player slowly until they reach a set distance. At this distance they start attacking and charge rapidly at the player forcing them back, after an attack they begin engaging again. If the player moves out of their attack cone they return to their patrol.
The code from playercontroller reacts to the hit forcing the player back and then removing the remaining velocity. Next I will work on getting the enemy AI to act differently with the lights on and allow the player to attack them back.