Online Co-op vehicle game: Host can possess passenger seats, but clients can't

Hello! I’m trying to build out some nice base classes to have players able to run around in the world, and hop into vehicles together. Getting everything to work reliably with networking has been tricky and a new thing for me.

The problem: I’ve started implementing passenger seats using Child Actor components on the Vehicle BP, with the Child Actors’ class set to use a passenger Pawn BP. We have a host and a client running around the game world together. They can both each possess a vehicle and drive around. But in the case of the passenger, if the host tries to use initiate the possess in a client’s vehicle, it works as expected. However, if a client tries to ride in the host’s vehicle, they get stuck in some kind of mid-possession purgatory.

Here’s the character BP, where they hit the ‘use’ button to enter the vehicle.

Here’s what the vehicle structure looks like, with the 3 passenger Child Actors (that each reference a pawn)

And this is the pawn actor, where I tried using the interface to directly possess (also only works for host and not the client)

Any advice would be great. I’m new to all the networking stuff, and I get why people say it’s tricky. Also if you have any ideas or advice on better ways to set something like this up, I’m all ears. Huge thanks in advance!