Replicated actor component inside PlayerController gets messed up after seamless travel

bstone
Thu, 09 Feb 2017 16:26:12 +0000
Character & Animation

Bumped into this nasty issue today. I have an actor component (that replicates) added to my PlayerController derived blueprint and it consistently gets destroyed after the seamless travel and never re-created after that.

My best guess about the root cause of the problem is that PlayerController instances aren’t fully replicated but are rather created both locally and remotely, then hooked up for proper networking. That makes everything work fine when the player starts a game but after the seamless travel the proxy instance of PlayerController gets the component destroyed via replication after it’s been recreated locally. The component reconstruction simply isn’t synchronized between related PlayerController instances on the client and the server.

I had to use an ugly workaround but hopefully the issue can be fixed as we are sort of bound to having advanced client-server code executed by something that is owned by PlayerController if we want RPCs to work.

18 posts - 3 participants