For my similar project I use “SpawnActor” at a random (RandomFloat in range) location in front of the player, I use a timer (SetTimer) to call this process periodically.
Actors moves to the players (AddOffsetLocation) and are destroyed (DestroyActor) at a given location behind the player.