The BufferedInput class allows you to buffer a key press (e.g. the jump button) such that the button down state (ButtonState.DOWN) is recorded not just for one frame but for multiple frames.
This is typically used to allow the player to jump even if they press the jump button a little before they land on a platform.
Note: If you want to allow the player to jump a little after they fall off a platform see the jumpButtonLeeway property found in most AirMovements.
How To Set Up
The easiest way to set up the buffered input is to add the BufferedInput component to the same GameObject or a parent GameObject of your standard Input component:
The BufferedInput has the following settings:
|Input||Input that these buffer settings apply to. This is optional, if it is not present the buffered input will try to find an input on the current or a child GameObject.|
|Jump Buffer Time||How long to buffer the jump button for.|
|Run Buffer Time||How long to buffer the run button for.|
|Action Button Buffer Times||List of buffer times for each action button. The array index must corresponds to the array index of the action button it is buffering.|