Minigame in Open World Game

I’m assuming the game itself is multiplayer. In that case you probably need to break your logic into different chunks. PlayerState and GameState are replicated classes which means they are read only for clients. Game mode is a server only class. You don’t have a game mode object on clients(proxies). If you try to get game mode instance in a multiplayer game on client side it would be None(nullptr in C++).
So that said, what I would do in this case is put the controls and movement (and other gameplay logic) in your character BP (You might want to have a different pawn/character for the minigame and change to that for the duration of the mini game). This class/BP should have proper replication on the server side. Then for non game play logic like wining conditions, saving records, updating leader board, etc. use the replicated data on server side in the game mode class. After that update the game state and player state classes on the server side and replicate the update on the client side then use those data to show desired output to players.

1 Like