Problem with character controller and Mesh colliders in unity 5.0.1

Hello,

I’m currently working on a game involving a lot of physics and a character controller. The project was ported from unity 4.2.2 to 5.0.1 recently and I noticed a difference in the behavior of the character controller.

When I put the controller directly inside a convex mesh collider the 4.2 version stayed inside and the player can exit as he wants, the 5.0.1 is ejected vertically as soon as Move() is called.

There are two gifs of what happened, both times I put the character controller (with character motor script from 4.2) inside the cube and then try to move. The cubes have a kinematic rigidbody with a convex mesh collider.

2078791--135779--gif-4.2.gif Unity 4.2, working as intended

2078791--135780--gif-5.0.gif Unity 5.0.1, player launched in the air.

I’s a problem as the gameplay involve slow-motion without accelerating physics calculation. Point is the player will often collide with cubes with a high risk of getting launched high in the air (1000m approx.).

If anyone has an idea of how to get back to the behavior of unity 4.2 it would be a great help.

Thanks for your time,

Fuegan

I’m having this same issue in our game. It looks like it’s gone completely un-addressed, which I guess means I’m out of luck. It would be spectacular if a developer or QA guy or anyone would acknowledge this is a real issue. I’m on 5.0.2f1 FWIW.

Hi,
We had a significant upgrade to the physics system in 5.0
Please take a look at the upgrade guide: http://docs.unity3d.com/Manual/UpgradeGuide5-Physics.html

Ok, I see that guide but that changes nothing. Its a very big problem for us since we had to switch off collision between players and NPC’s as they are throwing players in the air while they are moving. I see nothing in that guide that might help us fixing it.

Hi,
I have spoken to the physics team, it sounds like it could be a bug that was fixed in 5.2.2p2:
(682939) - Physics: Allow slope limit to be considered for non-static objects.

If this does not fix the problem please file a bug report with an example project so we can investigate.

1 Like

Hi.

Character controler is still broken on 5.3. When he meets dynamic collider, he moves on to its tip. So slope limit for dynamic objects still dont work.

Also slope limit is not working on speed tree models when collider is not absolutely vertical. If Slope limit is 48 as an example, and tree collider rotation is 85 degree (almost vertical) you could easily climb on it. On 90 degree it works fine.

Hi.
Could you file a bug report with an example project? Post the number here and I will ask QA to take a look.

It’s happend when NPC use navmesh set destenation and player is on his track, or script is moving object into player look:

So phisics is working ok, but if any script or navmesh agent is moving object through player player is climbing.
Another example this time with AI:

Thanks but could you create a bug report with this so I can make sure it gets to the right people :wink:

Done, but I’m waiting for a issue tracker link from Unity staff.

Ok, fast answer, so here is the link:
https://fogbugz.unity3d.com/default.asp?757905_7e177q6omsb0uioq

1 Like

Hello, Any update on this issue Karl?

Hey. I just chased QA, the case was on hold waiting for new information which they now have. They are looking at it now.

1 Like

Bumpie :slight_smile: Any idea when fix will be released? Its in here for more than a year already and really hurts.

No sorry no news at the moment. Its assigned to the Physics team so they are aware of it and will fix it.
You can track the status of it here. Unity Issue Tracker - [CharacterController] Dynamic collider ignores Slope Limit and gives force
Give it a vote, the vote count helps towards prioritising bug fixes and this one has zero votes at the moment.

Maybe related to this one Character controller problem since unity 5 - Unity Engine - Unity Discussions

Bumping, 42 votes already :wink: