- Home /
contact.normal not updating in OnCollisionStay2D
I'm trying to apply a force to a ball-like object that is parallel to the surface that it is currently contacting. I'm doing this by getting the normal of the contact point, then taking the cross product of this normal and Vector3.forward. This works fine; then only problem is that contact.normal does not update throughout the duration of OnCollisionStay; the only normal vector I am able to get is the one from the initial collsion. Is there any way to get a continually updating normal vector between two colliders? Thanks in advance.
Just ran into the same problem. This is really quite a big issue for me.
I've tried to find the normal with Physics2D.Linecast from collider center to contact point (which in fact does update), but resulting normal somehow also does not update. So I am guessing it is some buggy inner behavior of the 2D collision engine in Unity.
Your answer
![](https://koobas.hobune.stream/wayback/20220613130053im_/https://answers.unity.com/themes/thub/images/avi.jpg)