Character Controller and slope limit

I’m completely new to Unity, having just completed the Platformer tutorial and the FPS tutorial, and looking to make something of my own now, but I’ve run into a few problems with the character controller.

I have a really basic demo in unity, where you move the character using the WASD keys using the controller.Move function. To test out the slope limit, I made a sphere, scaled large, and submerged it halfway through the base plane the character stands on (so it’s just a half sphere sitting through the ground).

So if I set the slope limit to zero, he shouldn’t be able to climb it at all, right? Well, doesn’t seem to work that way…I also set it to 180 just in case, but no dice. He can still climb it with ease.

So I decided to troubleshoot a bit. Opened up the FPS tutorial and flicked the slope limit down to zero on the character, and it works for him when trying to climb the rocky edges of the FPS tutorial level.

I’m guessing that slope limit only works if the character is trying to climb between 2 polygons on the SAME model, but I wanted to be sure. It’s a pretty important setting for games and I didn’t want to be going the wrong way about it.

Thanks for any help!

Slope limit on CharacterController is broken, although you can reduce how quickly the controller will climb up a steep wall by adjusting the skin width. I’m not sure exactly why that works, but I reported the issue a while ago.

Oh. Broken in just 2.6, or has it always been broken?

That’s rough, anyways, I suppose there are ways to manually check what the angle of the slope is, but I’m fairly new to Unity so I wouldn’t really know how…I’m mostly in a learning phase right now, so this isn’t super crucial.

Thanks very much for the reply!

It’s been broken for the last three years, so I assume it’s always been broken. It could be a bug in the physics engine, though, so a fix would have to wait until the next major release of Unity, assuming they upgrade PhysX at that point.