Initial design was 2 CharacterBody2D nodes, each having a collision node: one for actual collisions and one specifically for walls.
As for collisions, I'll use 2, one for the walls and one for all other objects.
As for movement and jump, I'll use 2 character bodies, parent for ground movement and child for jumping (simplest idea I had).
The character needs to do the following:
Move to any direction [X]
Jump with gravity [X] - I had a problem in which at the end of a jump, the jumper node would move down a bit, worsening at each jump. to solve this I added a node2D named "center" to be used as a reference, copying the jumper node's position to that of the jumper node (thus the nodes stay aligned, as the center node doesn't ever move).
Initial design was 2 CharacterBody2D nodes, each having a collision node: one for actual collisions and one specifically for walls.
As for collisions, I'll use 2, one for the walls and one for all other objects. As for movement and jump, I'll use 2 character bodies, parent for ground movement and child for jumping (simplest idea I had).
The character needs to do the following: