Sudden loss of movement speed when using acceleration curve in multiplayer as character approaches maximum speed

I’ve also tried the above by using a custom character and movement component in C++ See attached ZIP

NOTE: If you use the code below. Make sure to disconnect the blueprint example above. You do not want the blueprint to be setting the MaxAcceleration variable of the movement component, otherwise you’ll be fighting with the C++ code.

NOTE: also there is some code in there for toggling between a walking and sprinting state. I have removed the bulk of it and it is not being used.

When you use the code, you manually set the SprintSpeedMaximum in the characters movement component

Heres the meat of it:-

float URW_MovementComponent::GetMaxAcceleration() const
{
	const FVector LateralVelocity = FVector(Velocity.X, Velocity.Y, 0.f);
	return SprintAccelerationSpeedCurve->GetFloatValue(LateralVelocity.Size());  //Return the acceleration curve value which matches the current speed the character is moving at
}

link text