Humanoid.StateChanged for jumping and Humanoid.Jumping do not fire consistently

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.


Repro Steps:

  1. Download the attached repro place below these steps
  2. Run the place in your prefered method, just make sure you have a character to control
  3. Walk around or stand still and repeatedly jump,
  4. Observe the output/console and watch for a lack of server sided prints

Humanoid Jump State Repro.rbxl (13.1 KB)


I can repro these behaviors 10/10 times on the most recent builds of roblox both in studio and in a published game.

10 Likes

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?

3 Likes

Not sure if this is still an issue but UserInputService.JumpRequest() is also bugged, it fires many times.

Sorry to necro, but wanted to link to an explanation in another post:

5 Likes