Download

Client possess pawn not working / How to possess pawn as client?

Hello! In my game I have it set so that in the main menu, the players select the class they’re using. However, when they join the game, the possession never occurs. On the server, however, everything works fine. So I tried using an RPC and making the possession run on the server instead, but the only thing that did was make the host possess the pawn of the client who just joined. I’m guessing it has something to do with the possession function/event itself, because the node itself says it will only execute it in the server.

How am I supposed to change the pawn on the client, if the only playercontroller the host has access to is its own, and the possess function only runs on the server? I find it strange that unpossess can run locally, but possess has to be on the server…

Thank you!

RPC on server is right. Maybe you used the wrong controller function? if you used the one with index 0 he probably addressed the host instead.

Thanks for the help! That is exactly what I am doing. But I thought that player controllers only existed in their corresponding game instances, therefore the host nor the clients would have access to them? Does this mean that the host/server has access to every clients player controllers? That actually would make sense and would help sort out some confusion I had in how networking worked, but just to verify.

Thanks again!

EDIT: Yup, it seems that’s how it is. Thanks for your help!

So this might be a problem I’m seeing as well. When I get player controller it is set to zero when I try to possess a new pawn. So how would I handle having the right client perform the possession in this case? ParagonX how’d you change your blueprint?

https://answers.unrealengine.com/questions/468827/how-can-current-player-controller-switch-to-new-ch.html

Hi, how did you fix this issue?
I’m also trying to get the right player controller, but I always get the host’s player controller.