Hello, i have two float variables SprintSpeed and WalkSpeed. When the player clicks shift the movement speed has to change to SprintSpeed and when the player clicks shift again it changes to WalkSpeed again. My question is: What is the best way to change the speed ?
My idea is just to use a RPC and it works:
// .h file
UFUNCTION(Server, Reliable)
void ServerToggleMovementMode();
UFUNCTION(NetMulticast, Reliable)
void ClientToggleMovementMode();
// .cpp file
void AMyCharacter::ServerToggleMovementMode_Implementation()
{
ClientToggleMovementMode();
}
void AMyCharacter::ClientToggleMovementMode_Implementation()
{
if(GetCharacterMovement()->MaxWalkSpeed == WalkSpeed)
{
GetCharacterMovement()->MaxWalkSpeed = SprintSpeed;
}
else if(GetCharacterMovement()->MaxWalkSpeed == SprintSpeed)
{
GetCharacterMovement()->MaxWalkSpeed = WalkSpeed;
}
}
But before i continue i want to know if there is a better way of doing this. Thank you !

