How to "force" a Character to jump mid-air using Character Movement? (Coyote Time)

Hi everyone,

After re-coding character movements myself for a while, I decided to learn to use the Character Component in a 3D platforming game.
However, I’m having a hard time on how to “force” the Character to jump mid-air when a Coyote Time should apply.

In short, after the player leaves the ground without jumping (i.e. they start falling), I start decreasing a short timer (0.2s right now), and if they press the Jump button in that window, I want to let them jump as if they still had the ground under themselves. Example

The overall “detect falling” part poses no problem, but I can’t find a way to make the Character jump mid-air “cleanly”.
I can’t just add an impulse because that would prevent any “hold to jump higher” mechanic and the player would certainly notice the difference. I don’t want to re-code that part either because it feels unnecessary.

My current workaround is to set the Max Jump Count to 2, calling the Jump Function, and setting the Max Jump Count to 1 once I land to avoid issues; but this feels like a cheap workaround.

Is there a clean way to tell the Character Component to Jump again using all its built-in functionalities? Something like making it think the player is still on the ground? or a special “override Jump”?

Code snippets below if that can help people.
Thank you in advance!

(edit: re-uploaded wrong picture)

1 Like

I am having the same issue and still have no clue how to solve it, have you figured any solutions for it? otherwise does your work around work even if it’s not ideal?