FPS Controller can jump over anything

Hi,
No matter how steep a surface is my FPS Controller(unity 5.0.2) can jump over it.I have mountains who surrounds my map and some of them make almost 90 degrees with the ground.No problem for my olympic champion at jumping/climbing who makes it over them and out off the map.If i understood correctly from unity manual this setting is the “Slope Limit”, but there they recommend a 90 degrees value, while the default setting is 45.Either way, except perfectly perpendicular walls, my FPS Controller can jump/climb over anything.How do i correct this behavior?Thanks!

i have the same problem

Hi guys im facing this issue as well. FPS zombie survival, player can escape any room by jumping. Not cool, someone please help

Method 1

Assign a maximum slop against which jumping is valid.

float maxSlope = 45;// Max angle allowed to jump from - Note this angle will be a inverse: 90 - this angle is the actual angle

public bool CheckJumpAngle () {
	
	Ray ray = new Ray(transform.position, -transform.up);
	
	RaycastHit hit;
	
	if (Physics.Raycast(Ray, out hit)){
		// Return the angle between transform.up and normal
		float angle = 90 - Vector3.Angle(transform.up, hit.normal);
		
		if (angle < maxSlope)
			return true;
	}
	
	return false;
}

   // Example implementation
void Jump () {
	if (CheckJumpAngle() && TouchingGround() && ...)
		DoJumpPhysics();
}

Method 2

Play around with adding physics materials to your player. Specifically the friction property. This will allow the play to start sliding onces the slope gets to steep and is relatively easy to implement.