Replicating muzzle flash not working as intended

Test 1 works, but test 2 doesn’t.

Test 1 creates muzzle flash correctly to all players listen server, client 1 and client 2

Test 2 creates muzzle flashes very weirdly. Also it shows up only on the listen server screen. If either of the clients fire, the muzzle effect is created only attached to client 1. If the listen client fires then only it sees it.

Can someone please explain why it works like this. I am trying to use a similar method for C++ that test2 has.

I guess the last resort could be to make the projectile logic in C++ and effects in blueprint.