My goal is to have the ability of all clients and the server to pause/unpause regardless of which one initiated the pause, and for the game to always visually pause on the clients.
Basically, I just want the ability to pause a simple multiplayer game.
I currently have it working where the server will toggle its paused/unpaused state from any client and itself, but it is inconsistent whether or not the clients actually visibly pause when the server is paused. So often when the game is paused on the server, you can still move around and see AIs pathing on the clients, and when the server unpauses, all the clients update to where the server is.
There are no error messages for when the clients are unable to pause, I have no idea why it is inconsistent.
I am only using blueprints, and would prefer a blueprint only solution. I have tried many ways, where I am multicasting so that the server and all clients pause, only pausing on the server, trying this on the BP_Player, player controller, game mode, game state etc. I can’t seem to figure out how to do this consistently.
The simplest setup I’ve found, which produces the same results as the other ways I’ve tried:
On the character BP, I have an input action that calls a server event which will check “is game paused” and then ‘Set game paused’ the opposite of what it currently is.