it's possible without plugins also, but they will be very rudimentary or as complex as you make them by event_coding.
For example if u want your enemy to chase you u just compare the distance from evemy.x to player.x and make enemy.x set to self.value + or - an amount that you want.
for example
C <: ifPlayer.X < Enemy.X
(meaning the player is in left of the enemy)
compare two variables
C <: distance(enemy.x,0,player.x) =< 200 | A <: Enemy.SetX to Self.X - 5
(meaning if the distance from enemy.x and player.x is equal or less than 200 pixels then the enemy will start moving towards left side from its current position by -5 pixels)
and u do the same thing for the chasing enemy if is reversed by adding instead of subtracting and comparing ifPlayer.x > Enemy.X -- but don't change the distance =< 200 leave it the same.
and that would be the follow ... then for shooting the player or jumping over obstacles you need more event_coding, but there are tutorials that are doing that without events, take your time, a good game is made in time! Have fun!