Quite frankly, our FPS project could use an update as it’s a very basic controller.
It’s sliding on the stairs because the capsule end is round and gravity is basically pulling the player off the end of the step. A quick fix would be to check if the player is on the ground and if there is no input, zero out velocity. That would kill momentum when moving so you may need so adjustment depending on what type of FPS movement you would like.
That’s more of a collision mesh issue where it looks like it is getting stuck on the stairs edge? The model would need adjusting probably here
That pretty much confirms both of my suspicions.
Sadly, I’m not sufficiently familiar with the code and physics implementation to tackle the issues.
At least, not yet.
Would have thought that setting the linear velocity would have prevent the simulation applying gravity in the sim step but it doesn’t
I don’t have an immediate good answers here beyond apply gravity on a per object basis rather than global so the character controller has full control over when gravity is applied (ie when not grounded)