Multiplayer Character Select

I’m a bit lacking in my multiplayer logic.
in my game I have a 1v1 skirmish, player 1 ‘hosts’ a game and player 2 ‘joins’ a game over LAN via Blueprint (create>find>join session). that all seems to work fine.
from the level I call a widget to give an option to select characters, which calls the player controller that assigns the characters to your player.
I’m testing by running ‘2’ players in PIE, but I’ve tried packaging and running as 2 EXE instances just in case the error was in the program (I figured it was in me).

I’m not sure what I’ve failed to realize. it works fine for the host, and the joined player can see the actor change as well, but when I try from the joined player it just spawns a new actor adjacent to the joined player (only visible from the joined players screen). it does not destroy the current actor or possess the new.

Any help is appreciated.
Thank you,