I have a widget component on a blueprint actor that players can interact in for a lobby. They click a ready button on a computer to ready up in the game. I am using a listen server and the client and host are both able to click the button and it performs the local logic. However, I am using a K2Node Call delegate on the widget (as shown in the first picture) so an event is called on the blueprint that has the widget as a component (the change lights event in the second photo). However the print state statement is only being called when the host clicks ready. I am not sure why it isn’t working for the host maybe because the blueprint actor is a world object it can only call server events from something with server authority, i.e the game mode or host. Can someone explain why its not working and what the clean flow would be for this. Should I try to have the code sent from something like the gamemode which has authority? Should I set the ownership of each actor to the specific player controller, to allow them to send server events?
you can only call RPCs on Actors you ‘own’ which is usually just the PlayerController/PlayerPawn. for shared actors (ultimately owned by the server) you have to Get who clicked on it and run it on the RPC on the controller.

