You can manage all the bullet logic with line or sphere traces with some vector math and have them data driven on a single actor.
Here is a quick example:
This works a lot better in c++, though. In this example we might skip an array element with the swap, in BP that can be fixed with a While loop and conditionally ++… but it’s just to communicate the idea.