Summary
In this chapter, we showed you how to control both a player and an NPC character. First, we added the Attack action to the input action map and added the event handling function to the player controller. Then, we bound the function to the Attack action to control the hero to attack.
We learned how to add notifies to the animation timelines so that when the non-loop animations end, the animation blueprint can capture the notifications and properly transit to the next state, or if the character is killed, the DieProcess function is called to release memory and force garbage collection.
We imported new assets for the enemy character and created the Enemy class, the blueprint, and the animation blueprint, as we did for the player character. We also added PawnSensingComponent to the Enemy class so that enemies can detect whether the player character is within their vision range.
The main difference from the player character we made for the enemy was that we created the...