Dissecting the Game:
AI - the crowd:
For the crowd I used pooling, which mean when a character die, instead of destroying the actor and spawning another, it will be reset and reused.
To do so I created 3 functions:
CreatePool //creates the the initial characters that I will be using
GetFromPool // request a character from the pool when needed in game
ReturnToPool // when the character dies, it is returned to the pool
Screenshots:
CreatePool: (I know it has a warning, and I will be fixing that soon)
GetFromPool:
ReturnToPool:


