Humanoid.StateChanged and Humanoid.Jumping when listened to by a server sided script do not fire properly when jumping occurs. StateChanged will rarely pass the Jumping enum, and Jumping just doesn’t fire sometimes.
My use case is I want to make changes to the character as they jump, I want to do this server side to avoid trust issues with the client and to check that the client isn’t making an illegal jump.
In my own testing I with StateChanged and Jumping I found the following results:
StateChanged for Jumping enum
Jumping with prints on true being passed
Where in both tests blue is a client side script print, and green is a server side script print. Both client and server scripts running the same code snippets found below, and both scripts parented to the Character model. In the repro place attached they can be found under StarterPlayer.StarterCharacterScripts.
Can we get a fix for this, please? This is still an issue, and not just with jumping. Jumping will never be the state if you stand still, and is inconsistent when moving and jumping.The Landed state also appears to not work properly, it often won’t register if you stand still, and is even more inconsistent with running and jumping. Freefalling state is more consistent, but still won’t always work on maybe 8% of moving jumps when I’m changing directions a lot.
I wish that Freefalling would only be the state active when actually in descent, rather than immediately after the jump begins as is the current implementation.
I don’t know why this is being ignored, could an engineer please let us know if this is being looked into?