OK guys, I am missing something about multiplayer replication and Im’ trying to sus what it is. I have an actor (a boat) that has multiple interactable stations that are child actors. One of these is the helm. When I interact with the helm, it sends a server RPC to check if the character is in range and nothing is occupying the helm, if so, it sets the character as “AuthorizedDriver” on the ship actor (just a variable, as I’m not sure what to do with it yet). I also swap control contexts on the player controller to send RPCs to the ship, but the ship ignores them. I’m certain it’s an authority issue, but I’m not smart enough to understand what i’m doing wrong. i can’t give ownership of the ship to the character, as I want multiple characters to be able to interact with multiple stations at once (helm, sails, etc). Any help on understanding how to set this up would be amazing. Thanks so much in advance for your effort.
Authority is very tricky. I spend weeks converting my game to multi-player, several days were me failing to understand the framework. If you are using a Run On Server RPC, this can only run on something the player owns. If I am interpreting the pronouns correctly, it seems you are trying to run an RPC on the helm. Assuming the player is not playing as the helm, this will not work as the player does not (nor should) own the helm. To fix this issue, the helm or the player need to message either the server or something the player owns (ex. the player state or game state) and run the RPC there. The player state is best accessed if the player is sending the message, and the game state is best accessed if the helm is sending the message. The message is best sent via a blueprint interface.
Thank you. With your information it finally clicked how the RPCs work. Now I’m on to rapid moving collisions not properly registering overlap…