I’ve been working on a kinematic (non-physics-based) character controller and have just completed the first stable implementation of the collision detection and response algorithm. The main limitations are the lack of 64-bit for Vector3 (causing floating point errors) and the inaccuracy of the Spherecast API, which I’ve tried to mitigate but still affects the results to some extent, hoepefully the physics team will do something about this soon.
I’d appreciate feedback on the consistency and accuracy of the collision detection, especially on flat surfaces, on previous implementations, by moving towards a wall and rotating the camera in random directions really fast or at sharp angles, I was able to tunnel through the wall, with the newer implementation, this is much harder to do but I believe still happens, I tried to do it multiple times but didn’t work, if you managed to tunnel through walls, I hope you tell me the exact conditions so I can replicate it and figure out the problem.
Here’s a showcase of the current implementation:
And a link for testing:
I believe this is the first step toward revolutionizing character controllers on the platform. Most games, regardless of genre, use the same default physics controller with animations on top, which is why they all feel similar. This could change by giving developers full control over character movement without relying on forces, allowing direct manipulation of velocity and acceleration to make any mechanics, dosen’t matter how complex.
Here is an older version, Just to show how it would look like when it’s polished: