Ok, I'm the king of the leaderboards. CoolCat I'll get the number one soon but I HAVE to comment this. There's a big problem with the wall jumping. What I suspect is happening is that you turn the player around and THEN check the inputs, so if I press right the same frame I walljump my character turns around once from the wall jump and then again from my input so I end up getting pushed into the wall. This is extremely frustrating when trying to speedrun, I'm trying to change my timing and I will figure it out eventually but there's such a big lenience to this issue that I'm actually able to scale walls pretty consistently. One way to fix this would be to disable player controls for 3-5 frames post walljump. Disabling the controlls also makes it much easier to keep most of the sideways momentum without needing to turn around quickly as to not cancel the walljump's x velocity, this is what I'm trying to do that make's me face the first problem. Do I press into the wall a little longer and lose sideways velocity or quickly turn around but risk doing it too early and losing the x velocity all together? Now back to speedrunning.
Ok, you're clearly doing this already I just noticed. XD So maybe you're not disabling them at the frame the wall jumped is registered but the frame afterwards? hmmm