How can current multiplayer player controller possess new character on clients #2 and above?

Hi folks. In my multiplayer networked game, my characters can switch to three other characters on the fly. So I destroy current actor, spawn the new one and then possess the new one.

This all works fine…if you’re Client 1. Any time player/client 2-8 invoke the character switch it changes player/client 1 only - teleporting it to the correct world transform at least.

I am trying to send up the current player controller so it possesses correctly but that isn’t working. I imagine that player controller no longer exists when actor is destroyed? How can I get clients/players 2-8 to possess their new spawned pawn?

Thanks!

Second picture of the game mode script. The first pic is sending info up to Game Mode from pawn blueprint.

The answer is to move the spawn call and get player controller script to the Player Controller blueprint and not try to get player controller from the character pawn’s blueprint. Done. :slight_smile:

I don’t get it, i moved the server spawn to player controller, so its getting player controller while in the player controller blueprint, but no matter what I do, only the server’s player controller will run this code and respawn when called from any client

I am having this same issue with my current game. I have an array of characters at the end of each round that need to switch pawns. When a round ends the array works and the players all try to posses the new pawns but only server and client 1 do this successfully. Other players seem to posses a pawn that does not actually exist on server. This removes their ability to do anything but look around.

Are you getting the Pawn’s owning controller or just controller 0 no matter what?