Thanks for your response.
2) I'm not entirely convinced, the collision offset is fairly large:
(To put this into perspective, the upper capsule has a radius of 32 and a half-height of 18)
3) My mistake, I WAS using the move function, but I think I merely set the gravity too high.
Still, I'm not quite sure I understand how PxControllers actually work. I'm keeping the velocity of my character seperate from the controller, but after I call move() and simulate the scene, the velocity could change due to collisions. So I have to retrieve the new velocity directly from the controller's actor after fetchResulsts.
If I do that however, the velocity I get is entirely different from the displacement vector I've used, even though there haven't been any collisions and it moves exactly the way it should. Shouldn't the actor's velocity be exactly the same as the displacement vector in this case?
According to the PVD, the contact offset for the capsule controllers is definitely 0.02. Everthing else seems fine, although I noticed the radius / half-height shown in the PVD don't match up with the values I've given it. (It's showing 25.6 as radius and 7.2 as half-height, which can't be right?)