Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Hey thanks, I agree the movement is really tricky for me to get right. I used rigidbody2d and set velocity based on RawInput, but this felt really slippery in testing and the player kept flying off the small platforms. I added friction to the player to try to improve this but this leads to all the problems you described like killing momentum after a jump because the hard impact adds a ton of friction force.

How would you recommend implementing the movement? I am not sure what sort of scalars I should change. How do you deal with the "slipperiness" of just getting RawInput?

Have you tried watching any brackeys or blackthornprod tutorials on the subject, because they are the unity masters. Although I would recommend them first, here is what I used when making Rb2d physics (I had some issues of the player rotating when they hit an edge, which is the only reason I wouldn’t recommend this, but maybe you can solve this).

I first used Input.GetAxis to find out which key the player was pressing, and then multiplied this by a variable called PlayerSpeed, and I would set the result to be a variable called Movement. This then went into a Vector2, as well as Y, calculated by Rigidbody2d.GetVelocity. This then was used to set player velocity. I did this in Bolt, so you might have to modify some things for code, or change the physics a bit, but this led to quite snappy movement. I hope this helps, at least as a base