I have just realised, that its not printing the server’s velocity at all, the 0.0 i am seeing is the clients velocity. It is always printing the clients velocity and it works fine, but the servers velocity isnt even being printed
I have a character, and a custom charactermovementcomponent. In the character I do simple things like moving forwards and right, and a simple replicated jump (using impulse) function. But in the movementcomponent, in the tick function, I am printing the string of the characters velocity. I have tried two methods.
CharacterOwner->GetVelocity()
and
Velocity.X
The top one access’ the characters velocity, where as the bottom one gets the velocity of the movementcomponent.
I am then just printing them to the screen by this for example
GEngine->AddOnScreenDebugMessage(-2, 0.05f, FColor::Yellow , FString::SanitizeFloat(CharacterOwner->GetVelocity().X))
or
GEngine->AddOnScreenDebugMessage(-2, 0.05f, FColor::Yellow , FString::SanitizeFloat(Velocity.X))
Either method works perfectly when I am moving on the client’s character, but when I am using the server’s character, it will only ever read 0.0 for the velocity (in any direction).
I have no idea what could possible be the problem.
I need this because I am going to store the current velocity, and then perform some calculations, and then addmovementinput() based on those calculations.
Thanks