This blueprint look more like a respawn system than a swap system !
The problem is your “Get player Controller” node … It works only for local controller.
In my project, most of the Widget use functions (events) that are in the player controller, so I just have to use “get a reference to self” node (this)