'Touched' event fires inconsistently when a humanoid is jumping

Reproduction Steps
Currently, as of 2/1/2022, the Touched event fires inconsistently when a Humanoid character is jumping, if you are listening to the character being touched. I recall there being an issue with Humanoid instances where they would not touch the floor when jumping, since they raycast downwards and execute another jump if the distance to the ground is small enough.

Steps to reproduce:

  1. Download & open the repro place file : TouchedBug_Repro.rbxl (32.0 KB)

  2. Run a playsolo test

  3. Move your character around while holding spacebar / your jump button

  4. Observe that the touched event inconsistently fires, according to the output in the output widget

Expected Behavior
It is expected that Touched will be fired consistently, regardless of whether or not a Humanoid character is repeatedly jumping.

Actual Behavior
The Touched event fires inconsistently when the Humanoid character is repeatedly jumping.

Workaround
None

Issue Area: Engine
Issue Type: Other
Impact: High
Frequency: Constantly
Date First Experienced: 2022-02-02 00:02:00 (-05:00)

4 Likes

I think this is a fundamental issue with how Humanoids currently work (they don’t have a proper hitbox), so whether or not you get Touched events depends solely on the animation that happens to be playing on the character. This is not an easy problem to solve.

Hopefully, sometime before 2025, new constraints will be added that will make it easier to make proper character controllers that use a capsule hitbox regardless of the character’s animation, and issues like these will cease to exist.

2 Likes

We are aware of this issue. Looking into what could be done, will keep you posted :slight_smile:

5 Likes

Hi @Hajimalago! Will this issue be fixed / possible to fix with the upcoming componetized humanoids feature? E.g. New Humanoid Physics Controller - Beta

This behavior still occurs. Has the bug not been addressed yet?

This has been an issue for a while. The best thing you can do is either use Zone+ or make a hitbox on the player and a bigger hitbox for the touch part.