Variable Replication not working

Replication only works from the server to the client, not the other way around. That means that enemies taking damage and being killed need to take place on the server. Seeing how health is a replicated variable, whenever an enemy’s health changes on the server, the value will then be also updated on all clients.

I think you need to change GiveRangeDamage to “Executes on Server”. You can also move the check for whether an enemy was killed right after the Set Health node (or move both into a separate ChangeHealth method), so you don’t need to query it for all enemies in the Tick method which is needlessly inefficient.