The 3d character controller is pretty good, but it lacks a few features that would make it far better and less janky to work with:
Colliding with a ceiling should abort a jump, rather than stick to the ceiling
Stair detection should also snap you down when going downstairs, not just upstairs (EDIT: You also can’t walk upstairs if you got at a very slow speed, which doesn’t make sense)
Actual current X, Y and Z velocity values that become 0 when the player stops moving due to a collision
Sideways acceleration and deceleration should be taken into account when moving diagonally
Holding various movement keys at once should take into account the last key pressed, or stop you, right now the right and down keys have priority over the left and up keys.
Most of these are valid, however, if you were running down the stairs THAT fast, you would also do the same. And, stairs should be slopes in in the collision map.
I think it’d still be far more satisfying if it snapped regardless, a lot of people like to sprint all the time in games and perhaps for a fast-paced game it’d be good if you didn’t just start falling.
Also it’s like this for ramps already, why not stairs
Okay well if you go through a staircase at a slow speed it’s still considered as you falling regardless, no matter how small the bump is, which can suck for complex level designs.
You also lose the ability to go upstairs if you move too slow so maybe fix that too gdevs.
Someone from GD will eventually tell you that you can only make 1 request per post. That way they can track the request individually. You might want to change this post into a general discussion and create seperate feature requests.
i was going to tell them not to do this! its rediculous to do that! rules dont go against common sense
its about the same topic so whats the matter?
if everyone made 1 post for every single ask, big or small, we would be here forever and i dont think it would help their addition.
It’s one ask per post so it can be tracked and addressed individually possibly by different people. It becomes messy when one post is about multiple requests. When there are multiple requests the post grows quickly and it becomes difficult to tell which responses are about which request. And which requests hasn’t been looked at. It’s also easier to search for requests and remove any duplicates.
Not sure what issue you are having for going up stairs too slowly. I set my speed to 1 pixel per second and (although it took forever to move forward while testing) was able to go up a stair step with ease. You must have something else causing this problem as the existing PhysicsCharacter3D handles going up stairs very well (I have had issues in Unity and Godot with steps and stairs that GDevelop handles without breaking a sweat).
As for the going down stairs, I personally like how it is currently handled and just keep my player character’s speed settings under control so I am not flying off the top of the stairs at high speeds. But if they do run at the fastest speed, they should fly off stairs and not snap lock onto the stair below, which is equivalent to a 1,000,000 Gravity setting and instant falling to the ground below. It always bothers me that character controllers snap up to the next step and don’t offer a glide up option, so I use the PC3D on a capsule that is made invisible at runtime and have the player avatar “follow” the capsule with a slight Z change lerp so that I go smoothly up and down stairs.