I added a new Physics Material to the walls and set dynamic and static friction to 0.
This didnt seem to affect anything but I have kept it on just in case.
I added a Physics Material to the player and in the code, when he is midair, he has no dynamic or static friction, and when he lands, he does. This works for the most part now, he slides down walls.
but, when he gets to the bottom of the wall, if there is a gap inbetween the wall ending and the floor (a doorway) he will still get stuck and just sit there.
I’ve had this problem as well. It usually happens whenever you use transform.Translate. What always happened with me was that whenever I pushed against a wall it was like my object would go into the wall then be pushed back out by the physics engine, so it would negate the gravity, even if my object wasn’t grounded. How I got over this was by adding small triggers to the left and right of the object that wouldn’t allow the object to move in that direction if they got to near a wall. Fixed the problem up quite nice.
You could also simply use a small raycast I suppose. Whatever works.
Maybe try using a Capsule Collider on your character, it is much smoother than a Box Collider that has sharp edges that could get stuck between other colliders. You could also try using the Character Controller. Btw we have access denied to your google drive link