Hi!
I wonder if this is a bug or if I’m messing something. This is my configuration: Client and Dedicated Server.
If from server I posses a pawn and print Role and RemoteRole I get,
-
In Server: Role=Authority, RemoteRole=AutonomousProxy
-
In Client: Role=AutonomousProxy, RemoteRole=Authority
Then from the server I unposses the pawn and I Get,
- In Server: Role=Authority, RemoteRole=AutonomousProxy
- In Client: Role=SimulatedProxy, RemoteRole=Authority
So in server the remote role is not updated but it is in the client. I’m I missing something? This is my code for posses and unposses the pawn:
UCLASS()
class ATestPawn
{
...
UFUNCTION(Reliable, NetMulticast)
void Board(ATestPawn* NewPawn);
UFUNCTION(Reliable, NetMulticast)
void UnBoard(ATestPawn* NewPawn);
...
};
void ATestPawn::Board_Implementation(ATestPawn* NewPawn)
{
if (HasAuthority())
{
GetController()->Possess(NewPawn);
}
....
}
void ATestPawn::UnBoard_Implementation(ATestPawn* NewPawn)
{
if (HasAuthority())
{
GetController()->Possess(NewPawn);
}
....
}