A single file 2D platform character controller class for a CharacterBody2D that can be used as a starting point or on its own! The included features are currently coyote time, jump buffering, jump cancelling, sprinting, and wall jumping, and the different features can be toggled in various ways from the inspector without having to change any code. The class itself is broken down into multiple functions that can be overridden by your own extended class, allowing you to handle portions of the logic in a custom manner while leaving the rest of the logic intact.
The included example will allow you to try out the controller and tweak the settings to get something that feels right for you.
Credit to the wonderful Heartbeast for the tileset and sprite used in the example project!
The main branch is for Godot 4.x, if you're looking for a Godot 3.x version go to the godot3.x branch.